服务器端public class FileServer
{
public FileServer()
{
try
{
ServerSocket ss = new ServerSocket(4700);
System.out.println ("服务器启动!");
while (true)
{
Socket socket = ss.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
FileInputStream fis=new FileInputStream("E:\\1.txt");
FileOutputStream fos=null;
byte[] buffer=new byte[1024];
int n=0;
while((n=fis.read(buffer))!=-1)
{
fos.write(buffer,0,n);
}
out.println(buffer);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new FileServer();
}
}客户端:
public class FileClient
{
public FileClient()
{
Socket socket = null;
BufferedReader in = null;
PrintWriter out = null;
FileInputStream fis = null;
FileOutputStream fos = null;
byte[] buffer = new byte[1024];
int n = 0;
try
{
socket = new Socket("127.0.0.1",4700);
System.out.println("连接成功!");
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(socket.getOutputStream());
fos = new FileOutputStream("F:\\1.txt");
while((n=fis.read(buffer)) != -1)*******NullPointerException************
{
fos.write(buffer,0,n);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new FileClient();
}
}
我哪写错了?为什么会出现NullPointerException?希望高手帮忙!
{
public FileServer()
{
try
{
ServerSocket ss = new ServerSocket(4700);
System.out.println ("服务器启动!");
while (true)
{
Socket socket = ss.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
FileInputStream fis=new FileInputStream("E:\\1.txt");
FileOutputStream fos=null;
byte[] buffer=new byte[1024];
int n=0;
while((n=fis.read(buffer))!=-1)
{
fos.write(buffer,0,n);
}
out.println(buffer);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new FileServer();
}
}客户端:
public class FileClient
{
public FileClient()
{
Socket socket = null;
BufferedReader in = null;
PrintWriter out = null;
FileInputStream fis = null;
FileOutputStream fos = null;
byte[] buffer = new byte[1024];
int n = 0;
try
{
socket = new Socket("127.0.0.1",4700);
System.out.println("连接成功!");
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(socket.getOutputStream());
fos = new FileOutputStream("F:\\1.txt");
while((n=fis.read(buffer)) != -1)*******NullPointerException************
{
fos.write(buffer,0,n);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new FileClient();
}
}
我哪写错了?为什么会出现NullPointerException?希望高手帮忙!
解决方案 »
- JTable 插入行 出现 AWT-EventQueue-0 java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
- 一个健壮的匹配email的正则表达式要怎么写呢?
- 关于Struts,Spring,Hibernate和EJB3的学习问题,请教大家,先谢了!
- 为何执行update语句去更新ACCESS时,程序没错,却更新不了
- 两段小代码连接数据库性能的比较
- java能不能实现 监控另一个软件的运行 这个功能
- 21个错误。。。。。。。。。。。。。
- JSP高手请入座~~~~在线!
- 一个简单的java问题,高分求助!!!
- 请问文件格式(如.htm,.avi)的标准该怎么找?
- 数组合并的相关问题
- 顺序表读程序的简单问题
------------------------------------------------------------
InputStream in = socket.getInputStream();
out=new PrintWriter(socket.getOutputStream());fos = new FileOutputStream("F:\\1.txt");
while((n=in.read(buffer)) != -1)
...
{
public FileClient()
{
Socket socket = null;
InputStream in = null;
PrintWriter out = null;
FileOutputStream fos = null;
byte[] buffer = new byte[1024];
int n = 0;
try
{
socket = new Socket("127.0.0.1",4700);
System.out.println("连接成功!");
in = socket.getInputStream();
out=new PrintWriter(socket.getOutputStream());
fos = new FileOutputStream("F:\\1.txt");
while((n=in.read(buffer)) != -1)//这里出现异常
{
fos.write(buffer,0,n);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new FileClient();
}
}
客户端我改成这样了,出现了SocketException
PrintWriter out=new PrintWriter(socket.getOutputStream()); --> OutputStream out = socket.getOutputStream();while((n=fis.read(buffer))!=-1)
{
out.write(buffer,0,n);
}
//out.println(buffer); <--- 去掉