今天就跟大家聊聊有关如何在java中使用socket对zip文件进行传输,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
服务器端程序:
import java.io.*; import java.net.*; import java.io.BufferedInputStream; public class SocketServer { ServerSocket ss=null; Socket s=null; DataInputStream inStream=null; DataOutputStream outStream=null; FileInputStream fin = null; public SocketServer() { try{ ss=new ServerSocket(765); s.setSoTimeout(3000); }catch(Exception e){ System.out.println(e.toString()); } } void waitForClient(){ try{ while(true){ s=ss.accept(); ThreadServer thread = new ThreadServer(s); thread.start(); } }catch(Exception e){ System.out.println(e.toString()); } } public static void main(String[] args) { SocketServer socketServer1 = new SocketServer(); socketServer1.waitForClient(); } }
线程类:
import java.io.*; import java.net.*; class ThreadServer extends Thread{ private Socket socket; private DataInputStream inStream=null; private DataOutputStream outStream=null; private FileInputStream fin = null; public ThreadServer(Socket sock){ this.socket = sock; } public void run(){ boolean bool = false; //while(!bool){ try{ inStream=new DataInputStream(socket.getInputStream()); outStream=new DataOutputStream(socket.getOutputStream()); fin = new FileInputStream("C:/temp/socket/200212060001_ds.zip"); //socket.setSoTimeout(3000); byte[] b = new byte[200]; int i; while((i=fin.read(b))!=-1){ outStream.write(b); } fin.close(); socket.close(); //bool = true; }catch(IOException ex){ System.out.println(ex); } //} } }
客户端:
import java.net.*; import java.io.*; public class SocketClient{ Socket s=null; DataInputStream inStream=null; DataOutputStream outStream=null; FileOutputStream fout = null; public SocketClient() { try{ s=new Socket("192.9.207.52",765); //把这里的IP改成你运行SocketServer.class的IP inStream=new DataInputStream(s.getInputStream()); outStream=new DataOutputStream(s.getOutputStream()); fout = new FileOutputStream("C:/temp/socket/test11.zip"); s.setSoTimeout(3000); waitData(); } catch(Exception e){ System.out.println(e.toString()); } } void init() throws Exception{ } void waitData(){ try{ byte[] b = new byte[200]; int i; while((i=inStream.read(b))!=-1){ fout.write(b); } fout.flush(); fout.close(); s.close(); }catch(Exception e){ System.out.println(e.toString()); } } public static void main(String[] args) { SocketClient socketClient1 = new SocketClient(); } }
看完上述内容,你们对如何在java中使用socket对zip文件进行传输有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。