java基于socket传输zip文件功能示例
本文实例讲述了java基于socket传输zip文件的方法。分享给大家供大家参考,具体如下:
服务器端程序:
importjava.io.*; importjava.net.*; importjava.io.BufferedInputStream; publicclassSocketServer{ ServerSocketss=null; Sockets=null; DataInputStreaminStream=null; DataOutputStreamoutStream=null; FileInputStreamfin=null; publicSocketServer(){ try{ ss=newServerSocket(765); s.setSoTimeout(3000); }catch(Exceptione){ System.out.println(e.toString()); } } voidwaitForClient(){ try{ while(true){ s=ss.accept(); ThreadServerthread=newThreadServer(s); thread.start(); } }catch(Exceptione){ System.out.println(e.toString()); } } publicstaticvoidmain(String[]args){ SocketServersocketServer1=newSocketServer(); socketServer1.waitForClient(); } }
线程类:
importjava.io.*; importjava.net.*; classThreadServerextendsThread{ privateSocketsocket; privateDataInputStreaminStream=null; privateDataOutputStreamoutStream=null; privateFileInputStreamfin=null; publicThreadServer(Socketsock){ this.socket=sock; } publicvoidrun(){ booleanbool=false; //while(!bool){ try{ inStream=newDataInputStream(socket.getInputStream()); outStream=newDataOutputStream(socket.getOutputStream()); fin=newFileInputStream("C:/temp/socket/200212060001_ds.zip"); //socket.setSoTimeout(3000); byte[]b=newbyte[200]; inti; while((i=fin.read(b))!=-1){ outStream.write(b); } fin.close(); socket.close(); //bool=true; }catch(IOExceptionex){ System.out.println(ex); } //} } }
客户端:
importjava.net.*; importjava.io.*; publicclassSocketClient{ Sockets=null; DataInputStreaminStream=null; DataOutputStreamoutStream=null; FileOutputStreamfout=null; publicSocketClient(){ try{ s=newSocket("192.9.207.52",765);//把这里的IP改成你运行SocketServer.class的IP inStream=newDataInputStream(s.getInputStream()); outStream=newDataOutputStream(s.getOutputStream()); fout=newFileOutputStream("C:/temp/socket/test11.zip"); s.setSoTimeout(3000); waitData(); } catch(Exceptione){ System.out.println(e.toString()); } } voidinit()throwsException{ } voidwaitData(){ try{ byte[]b=newbyte[200]; inti; while((i=inStream.read(b))!=-1){ fout.write(b); } fout.flush(); fout.close(); s.close(); }catch(Exceptione){ System.out.println(e.toString()); } } publicstaticvoidmain(String[]args){ SocketClientsocketClient1=newSocketClient(); } }
更多关于java相关内容感兴趣的读者可查看本站专题:《JavaSocket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。