欢迎来到天天文库
浏览记录
ID:12668199
大小:37.00 KB
页数:5页
时间:2018-07-18
《java_tcp_文件传输》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java利用TCP进行文件的传输参考了该篇文章http://wenku.baidu.com/view/71baf9db50e2524de5187ea0.html并对其进行了简化与改动采用TCP进行通讯,需要服务器和客户端两个部分,因此程序包含SendFileServer.java和SendFileClient.java两个部分。两个文件的IP,端口都在程序中指定传输的文件路径也在程序中指定SendFileServer.javaimportjava.io.FileInputStream;importjava.io.IOException;impo
2、rtjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;/**用TCP进行文件传输*此文件为服务器文件*当接受到客户端的请求之后,先向其传输文件名*当客户端接受完毕之后,向客户端传输文件**/publicclassSendFileServerimplementsRunnable{//服务器监听端口privatestaticfinalintMONITORPORT=12345;privateSockets;publicSendFileServer(Socket
3、s){super();this.s=s;}publicstaticvoidserver(){try{//创建服务器socketServerSocketss=newServerSocket(MONITORPORT);while(true){//接收到一个客户端连接之后,创建一个新的线程进行服务//并将联通的socket传给该线程Sockets=ss.accept();newThread(newSendFileServer(s)).start();}}catch(IOExceptione){//TODOAuto-generatedcatchbloc
4、ke.printStackTrace();}}/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSendFileServer.server();}@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubbyte[]buf=newbyte[100];OutputStreamos=null;FileInputStreamfins=null;try{os=s.getOutputStrea
5、m();//文件路径StringfilePath="/home/newton/cangjie.mp3";//文件名StringfileName="cangjie.mp3";System.out.println("将文件名:"+fileName+"传输过去");//先将文件名传输过去os.write(fileName.getBytes());System.out.println("开始传输文件");//将文件传输过去//获取文件fins=newFileInputStream(filePath);intdata;//通过fins读取文件,并通过os
6、将文件传输while(-1!=(data=fins.read())){os.write(data);}System.out.println("文件传输结束");}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}finally{try{if(fins!=null)fins.close();if(os!=null)os.close();this.s.close();}catch(IOExceptione){e.printStackTrace();}}}}S
7、endFileClient.javaimportjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.InetSocketAddress;importjava.net.Socket;/**用TCP进行文件传输*此文件为客户端文件*连接上服务器之后,直接接受文件***/publicclassSendFileClient{privatestaticfinalStringSERVERIP="127.0.0.1";priva
8、testaticfinalintSERVERPORT=12345;privatestaticfinalintCLIENTPORT=54321;/***
此文档下载收益归作者所有