Java TCP/IP字节流在本地进行数据传输测试

来源:互联网 发布:顾比均线源码带买卖点 编辑:程序博客网 时间:2024/04/30 06:20

早上搞了一个字符流的,结果速度太慢,又搞了一个字节流的,这个速度比较快,3G的文件用了4分钟

由于只是简单的演示,只为了显示传输的方法,细节没有太多考虑

/**Server代码*/import java.io.*;import java.net.*;public class UpLoadServer {public static void main(String[] args){try{ServerSocket ss=new ServerSocket(9999);Socket sk=ss.accept();InputStream in=sk.getInputStream();BufferedOutputStream bufw=new BufferedOutputStream(new FileOutputStream("Bt5.iso"));//目标文件路径String line=null;int len;byte[] by=new byte[1024*1024*150];while((len=in.read(by))!=-1){bufw.write(by,0,len);bufw.flush();}sk.close();}catch (Exception e){}}}

/**Client代码*/import java.io.*;import java.net.*;public class UpLoadClient{public static void main(String[] args){long start=System.nanoTime();try{Socket sk=new Socket("192.168.1.107",9999);BufferedInputStream bufr=new BufferedInputStream(new FileInputStream("C:\\迅雷下载\\Bt5.iso"));//原文件路径OutputStream out=sk.getOutputStream();int len;double begin=bufr.available();byte[] by=new byte[1024*1024*150];while((len=bufr.read(by))!=-1){out.write(by,0,len);System.out.print("\r                                         \r"+(1-(bufr.available()/begin))*100+"%");}sk.close();}catch (Exception e){}long end=System.nanoTime();System.out.println("\n上传成功\n用时"+(end-start)/1000000000+"秒");}}


0 0
原创粉丝点击