黑马程序员技术交流社区

标题: IO和网络编程的问题!!求解!! [打印本页]

作者: 邓飞飞    时间: 2012-5-4 19:11
标题: IO和网络编程的问题!!求解!!
import java.io.*;
import java.net.*;
class PicClient
{
       public static void main(String[] args) throws Exception
       {
                 Socket s = new Socket("192.168.1.101",10011);
                          
                         FileInputStream fis = new FileInputStream("C:\\1.jpg");
                          
                         OutputStream out = s.getOutputStream();
                          
                         byte[] buf = new byte[1024];
                          int len = 0;
                          while((len = fis.read(buf))!=-1)
                          {
                                                  out.write(buf,0,len);
                          }
                          //告诉服务端数据已经写完。
                          s.shutdownOutput();
                          
                         InputStream in = s.getInputStream();
                          
                         byte[] bufIn = new byte[1024];
                          
                         int num = in.read(bufIn);
                          System.out.println(new String(bufIn,0,num));
                          
                         fis.close();
                          s.close();
                  
      }
}
/*
服务端


*/
class PicServer
{
       public static void main(String[] args) throws Exception
       {
                          
                         ServerSocket ss = new ServerSocket(10011);
                          
                         Socket s = ss.accept();
                          String ip = s.getInetAddress().getHostAddress();
                          System.out.println(ip+"::::");
                          
                         InputStream in = s.getInputStream();
                          
                         FileOutputStream fos = new FileOutputStream("2.jpg");
                          
                        
                         byte[] buf = new byte[1024];
                          int len = 0;
                          while((len=in.read(buf))!=-1);
                          {
                                                  
                                 fos.write(buf,0,len);
                                  System.out.println(len);
                          }
                          
                        
                         OutputStream out = s.getOutputStream();
                          out.write("上传成功".getBytes());
                          
                         fos.close();
                          s.close();
                          ss.close();
                          
      }
}
编译时没有问题,但就在运行的时候出现Collection reset 异常 ,这个我还没见过呢
作者: 许飞翔    时间: 2012-5-4 19:52
根据运行时的错误提示,可以找到错误的。提示在while循环里面
while((len=in.read(buf))!=-1);
你这while循环后面居然有个;号;肯定有问题的,太粗心了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2