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

 更新时间:2017年07月04日 11:23:47   作者:小魏的马仔  
这篇文章主要介绍了java基于socket传输zip文件功能,结合实例形式分析了java使用socket进行文件传输的具体操作步骤与服务器端、客户端相关实现技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • java加解密RSA使用方法代码示例

    java加解密RSA使用方法代码示例

    这篇文章主要介绍了java加解密RSA使用方法代码示例,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • SpringBoot SPI 机制和实现自定义 starter

    SpringBoot SPI 机制和实现自定义 starter

    这篇文章主要介绍了SpringBoot SPI机制和实现自定义 starter,全称是Service Provider Interface。简单翻译的话,就是服务提供者接口,是一种寻找服务实现的机制
    2022-08-08
  • Spring Boot利用@Async异步调用:使用Future及定义超时详解

    Spring Boot利用@Async异步调用:使用Future及定义超时详解

    这篇文章主要给大家介绍了关于Spring Boot利用@Async异步调用:使用Future及定义超时的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友可以参考下
    2018-05-05
  • MyBatis不同Mapper文件引用resultMap实例代码

    MyBatis不同Mapper文件引用resultMap实例代码

    这篇文章主要介绍了mybatis 不同Mapper文件引用resultMap的实例代码,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2017-07-07
  • kafka监听问题的解决和剖析

    kafka监听问题的解决和剖析

    这篇文章主要给大家介绍了关于kafka监听问题的解决和剖析的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java利用AQS实现自定义锁

    Java利用AQS实现自定义锁

    本文主要介绍了Java利用AQS实现自定义锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java动态规划算法——硬币找零问题实例分析

    java动态规划算法——硬币找零问题实例分析

    这篇文章主要介绍了java动态规划算法——硬币找零问题,结合实例形式分析了java动态规划算法——硬币找零问题相关原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • Maven安装过程图文详解

    Maven安装过程图文详解

    这篇文章主要介绍了Maven安装过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-07-07
  • springboot+dubbo+validation 进行rpc参数校验的实现方法

    springboot+dubbo+validation 进行rpc参数校验的实现方法

    这篇文章主要介绍了springboot+dubbo+validation 进行rpc参数校验的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • SocketIo+SpringMvc实现文件的上传下载功能

    SocketIo+SpringMvc实现文件的上传下载功能

    这篇文章主要介绍了SocketIo+SpringMvc实现文件的上传下载功能,socketIo不仅可以用来做聊天工具,也可以实现局域网。文中给出了实现代码,需要的朋友可以参考下
    2018-08-08

最新评论