心得14--网络编程5-Tcp文件上传与输出

来源:互联网 发布:js获取iframe中的元素 编辑:程序博客网 时间:2024/06/05 22:32

 12.0.0.1代表本机IP。不要有中文路径,但是可以有中文文件名。中文路径会报错

客户端:

packagecom.TcpFile;

importjava.io.BufferedReader;

importjava.io.FileReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

importjava.net.Socket;

publicclass UpLoadClient {

   /**

    * 客户端,把服务器上传文件

    * @param args

    * @throws IOException

    */

   publicstaticvoid main(String[]args)throws IOException {

      Socket s = new Socket("127.0.0.1",8888); //12.0.0.1代表本机IP

      BufferedReader br = new BufferedReader(new FileReader("d:\\中搜.txt"));//不要有中文路径,但是可以有中文文件名。中文路径会报错

      PrintWriter pwOut = new PrintWriter(s.getOutputStream(),true);

      String line = null;

      while((line=br.readLine())!=null) {

        pwOut.println(line);       

      }

      s.shutdownOutput();  //关闭输出流,为了告诉服务器该文件已经读完即全部上传

      //收到来自服务器端的反馈信息

      BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));

      System.out.println(brin.readLine());

      br.close();

      s.close();

   }

}

服务器端:

packagecom.TcpFile;

importjava.io.BufferedReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

importjava.net.ServerSocket;

importjava.net.Socket;

publicclass UpLoadServer {

/**

    * 服务器端,用来让用户从其上下载文件

    * @param args

    * @throws IOException

    */

   publicstaticvoid main(String[]args)throws IOException {

      ServerSocket ss = new ServerSocket(8888);

      Socket s = ss.accept();

   System.out.println(s.getInetAddress().getHostAddress()+"已连接!"); //获得客户端Ip用来提示服务端

      BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));

      PrintWriter pw = new PrintWriter(new FileWriter("d:\\1.txt"),true);

      String line = null;

      while((line=brin.readLine())!=null) {

        pw.println(line);

      }

      //  给客户端回馈信息

      PrintWriter pwOut = new PrintWriter(s.getOutputStream(),true);

      pwOut.println("发送成功!!");     

      pw.close();

      s.close();

      ss.close();

   }

}

 

原创粉丝点击