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

早上搞了一个字符流的,结果速度太慢,又搞了一个字节流的,这个速度比较快,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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值