A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 想要那片海 于 2015-5-31 13:29 编辑
  1. 总是提示  java.net.SocketException: Connection reset  ,请帮忙看看代码有什么问题?
复制代码
  1. import java.io.*;
  2. import java.net.*;
  3. /*客户端上传文件*/
  4. public class TCPCopyFile {

  5.         public static void main(String[] args) throws UnknownHostException, IOException  {
  6.                 // TODO Auto-generated method stub
  7.                
  8.                 BufferedReader bufr=
  9.                                 new BufferedReader(new InputStreamReader(System.in));               
  10.                 String line=null;
  11.                 File file=null;
  12.                 while((line=bufr.readLine())!=null)
  13.                 {
  14.                         if(line.equals("over"))
  15.                                 break;
  16.                         file=new File(line);
  17.                         if(!(file.exists()&&file.isFile()))
  18.                         {
  19.                                 System.out.println("文件不存在");
  20.                                 break;
  21.                         }
  22.                         if(!file.getName().endsWith(".java"))
  23.                         {
  24.                                 System.out.println("请选择java文件");
  25.                                 break;
  26.                         }
  27.                         Socket s=new Socket("127.0.0.1",11100);
  28.                         BufferedReader read=new BufferedReader(new FileReader(file));
  29.                        
  30.                         PrintWriter out=new PrintWriter(s.getOutputStream(),true);
  31.                         String line2=null;
  32.                         while((line2=read.readLine())!=null)
  33.                         {
  34.                                 out.println(line2);                       
  35.                         }
  36.                         s.shutdownInput();
  37.                         BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
  38.                         String line3=in.readLine();
  39.                         System.out.println(line3);
  40.                         read.close();
  41.                         s.close();
  42.                 }
  43.                 bufr.close();
  44.         }
  45. }
复制代码

  1. import java.io.*;
  2. import java.net.*;
  3. /*服务端接收文件,复制到本地硬盘*/
  4. class CopyServer implements Runnable
  5. {
  6.         private Socket s;
  7.         CopyServer(Socket s)
  8.         {
  9.                 this.s=s;
  10.         }
  11.         public void run()
  12.         {
  13.                 try {
  14.                         int count=1;
  15.                         String ip=s.getInetAddress().getHostAddress();
  16.                         System.out.println(ip+"上传");
  17.                         File dir=new File("E:\\java123\\黑马考试\\练习题");
  18.                         File file=new File(dir,ip+"("+count+").txt");
  19.                         if(file.exists())
  20.                                 file=new File(dir,ip+"("+(count++)+").txt");
  21.                         PrintWriter bufw=new PrintWriter(new FileWriter(file),true);
  22.                         BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
  23.                         String line=null;
  24.                         while((line=in.readLine())!=null)//一直在这一行提示错误
  25.                         {
  26.                                 bufw.println(line);
  27.                                 
  28.                         }
  29.                         PrintWriter out=new PrintWriter(s.getOutputStream(),true);
  30.                         out.println("接收文件并复制成功");        
  31.                         //bufw.close();
  32.                         //s.close();
  33.                         
  34.                 } catch (IOException e) {
  35.                         // TODO Auto-generated catch block
  36.                         e.printStackTrace();
  37.                 }
  38.                
  39.         }
  40. }
  41. public class TCPCopyServer {

  42.         /**
  43.          * @param args
  44.          * @throws IOException
  45.          */
  46.         public static void main(String[] args) throws IOException {
  47.                 // TODO Auto-generated method stub
  48.                 ServerSocket ss=new ServerSocket(11100);
  49.                 while(true)
  50.                 {
  51.                         Socket s=ss.accept();
  52.                         new Thread(new CopyServer(s)).start();
  53.                 }
  54.                
  55.                
  56.         }

  57. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马