Java中Socket下载一个文本文件
废话不多说了,直接给大家贴代码了,具体代码如下所示:
packagecom.lanqiao.demo2; importjava.io.BufferedInputStream; importjava.io.FileInputStream; importjava.io.IOException; importjava.io.OutputStream; importjava.net.ServerSocket; importjava.net.Socket; /** *@author *@version创建时间:2017年6月12日上午8:47:37 *类说明:服务端上传一个txt类型的文件 *注意:服务端是一直不关闭的 */ publicclassTestServer{ //这个路径是我电脑上的一个记事本文件 privatestaticfinalStringPATH="D:\\JavaFile_Test\\test\\网上JDK环境变量配置.txt"; publicstaticvoidmain(String[]args){ intcount=0; OutputStreamos=null; ServerSocketseverscoket=null; Sockets1=null; BufferedInputStreambis=null; intlen=0; try{ //创建Socket服务 severscoket=newServerSocket(8888); while(true){ //阻塞 s1=severscoket.accept(); //服务端被连接的次数 count++; System.out.println("---服务端开启"+count+"次---"); //服务端写入文件 os=s1.getOutputStream(); //创建一个BufferedInputStream对象读取我电脑上的文件 bis=newBufferedInputStream(newFileInputStream(PATH)); //每次写入512个字节 byte[]b=newbyte[512]; while((len=bis.read(b))!=-1){ os.write(b,0,len); } s1.shutdownOutput(); os.flush(); } }catch(IOExceptione){ //TODO自动生成的catch块 e.printStackTrace(); }finally{ try{ if(os!=null) os.close(); }catch(IOExceptione){ //TODO自动生成的catch块 e.printStackTrace(); } } } } packagecom.lanqiao.demo2; importjava.io.BufferedInputStream; importjava.io.IOException; importjava.net.Socket; /** *@author *@version创建时间:2017年6月12日上午9:04:36 *类说明:客户端打印出从服务端下载的txt内容 */ publicclassTestClient{ publicstaticvoidmain(String[]args){ BufferedInputStreambis=null; Socketsocket=null; intlen=0; try{ //通过IP地址和端口号创建一个Socket对象 socket=newSocket("127.0.0.1",8888); //客户端读取文件 bis=newBufferedInputStream(socket.getInputStream()); //每次读512个字节 byte[]b=newbyte[512]; //当读取的字节不为空循环打印下载的内容 while((len=bis.read(b))!=-1){ System.out.println(newString(b,0,len)); } }catch(IOExceptione){ //TODO自动生成的catch块 e.printStackTrace(); }finally{ //关闭客户端的输入流对象和Socket对象 try{ if(bis!=null)bis.close(); if(socket!=null)socket.close(); }catch(IOExceptione){ //TODO自动生成的catch块 e.printStackTrace(); } } } }
以上所述是小编给大家介绍的Java中Socket下载一个文本文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!