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下载一个文本文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!