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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Tcp传输小练习,我的程序复制的MP3文件少了4KB却还是可以打开,这是为什么?
  1. import java.io.*;
  2. import java.net.*;
  3. class ClientDemo4
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 Socket s=new Socket("192.168.1.100",10001);

  8.                 BufferedInputStream bufIs=new BufferedInputStream(new FileInputStream("1.mp3"));

  9.                 BufferedOutputStream bufOut=new BufferedOutputStream(s.getOutputStream());

  10.                 byte[] buf=new byte[1024];
  11.                 int len=0;
  12.                 while ((len=bufIs.read(buf))!=-1)
  13.                 {
  14.                         bufOut.write(buf,0,len);
  15.                 }

  16.                 s.shutdownOutput();//关闭客户端输出流,相当于给一个-1结束标记。
  17.                 BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
  18.                 System.out.println(bufIn.readLine());
  19.                 bufIs.close();
  20.                 s.close();
  21.         }
  22. }
  23. class ServerDemo4
  24. {
  25.         public static void main(String[] args) throws Exception
  26.         {
  27.                 ServerSocket ss=new ServerSocket(10001);

  28.                 Socket s=ss.accept();

  29.                 String ip=s.getInetAddress().getHostAddress();

  30.                 System.out.println(ip+"....connection");

  31.                 BufferedInputStream bufIs=new BufferedInputStream(s.getInputStream());

  32.                 BufferedOutputStream bufw=new BufferedOutputStream(new FileOutputStream("2.mp3"));

  33.                 byte[] buf=new byte[1024];
  34.                 int len=0;
  35.                 while ((len=bufIs.read(buf))!=-1)
  36.                 {
  37.                         bufw.write(buf,0,len);
  38.                         bufw.flush();
  39.                 }

  40.                 PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
  41.                 pw.println("上传成功");
  42.                 bufw.close();
  43.                 s.close();
  44.                 ss.close();
  45.         }
  46. }
复制代码


0 个回复

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