首页 > 开发 > Java > 正文

java基于socket传输zip文件功能示例

2024-07-13 10:09:32
字体:
来源:转载
供稿:网友

本文实例讲述了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的IPinStream=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程序设计有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表