本文实例讲述了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 socket 传输压缩文件_java基于socket传输zip文件功能示例相关推荐

  1. java 解压文件_java实现解压zip文件,(亲测可用)!!!!!!

    项目结构: Util.java内容: package com.cfets.demo; import java.io.File; import java.io.FileOutputStream; imp ...

  2. java网络传输压缩数据_Java数据压缩与传输实例Java源码

    [实例简介]Java数据压缩与传输实例Java源码 [实例截图] [核心代码] import java.net.*; import java.io.*; import java.util.zip.GZ ...

  3. java解压中文乱码_java使用解压zip文件,文件名乱码解决方案

    File outFileDir = new File(outDir); if (!outFileDir.exists()) { boolean isMakDir = outFileDir.mkdirs ...

  4. java swing 控件拖动_java swing中实现拖拽功能示例

    java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...

  5. java的简单数字时钟_Java实现的简单数字时钟功能示例

    本文实例讲述了java实现的简单数字时钟功能.分享给大家供大家参考,具体如下: 应用名称:java数字时钟 用到的知识:java gui编程,线程 开发环境:win8+eclipse+jdk1.8 功 ...

  6. java 正则表达式 电话_Java读取文件及基于正则表达式的获取电话号码功能详解...

    本文实例讲述了Java读取文件及基于正则表达式的获取电话号码功能.分享给大家供大家参考,具体如下: 1.正则表达式 正则表达式,又称 正规表示法 . 常规表示法 (英语:Regular Express ...

  7. java下载zip文件损坏_使用Java下载.zip文件会导致损坏的.zip文件?

    我写了这个方法来下载最新的Selenium Chrome驱动程序,它不起作用.它导致损坏的.zip文件.任何人都可以发现我的错误在哪里?使用Java下载.zip文件会导致损坏的.zip文件? priv ...

  8. java http客户端实现_Java基于Socket实现HTTP下载客户端

    没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送如何从Socke ...

  9. socket java 客户端_Java基于socket实现的客户端和服务端通信功能完整实例

    本文实例讲述了Java基于socket实现的客户端和服务端通信功能.分享给大家供大家参考,具体如下: 以下代码参考马士兵的聊天项目,先运行ChatServer.java实现端口监听,然后再运行Chat ...

最新文章

  1. WinForm界面开发之 启动界面
  2. cocos2dx对所有子节点设置透明度
  3. NeHe教程Qt实现——lesson07
  4. 常见的面试思考题(MARK)
  5. mac装windows遇到的问题总结
  6. 到网站进过的服务器 命令,进入服务器的命令
  7. [C++ map dp]codeforces 960F. Pathwalks
  8. spring-注入list集合对象(值是对象)
  9. windows查看linux端口,Linux和Windows下查看端口详解
  10. 大话设计模式-原型模式的浅复制与深复制
  11. linux-inject:注入代码到运行的Linux进程中
  12. 分布式存储之GlusterFS软件安装及使用
  13. 用户故事与敏捷方法—概况
  14. 计算机毕业设计springboot+vue+elementUI高校学生实习管理管理系统
  15. 深度linux系统老版本,Deepin Linux15.7下载
  16. ABIDE数据集预处理项目
  17. python中and和or的惰性求值特点_Python 惰性求值
  18. 阿里实习生电话面试果断被鄙视
  19. JavaWeb实现注册登录功能并将用户数据写进数据库(商城系统第一部分)
  20. ZooKeeper Commands: The Four Letter Words

热门文章

  1. spring 导出csv_Spring批处理CSV处理
  2. Spring Boot YAML配置
  3. java jvm调优_(第1部分,共3部分):有关性能调优,Java中的JVM,GC,Mechanical Sympathy等的文章和视频的摘要...
  4. 如何在Java中使用重复项查找整数数组中的K个缺失数字?
  5. java 垃圾回收手动回收_Java垃圾回收(2)
  6. jax-rs jax-ws_JAX-RS Bean验证错误消息国际化
  7. spring shell_Spring Shell项目发布
  8. gradle ant_使用Gradle引导旧式Ant构建
  9. java jigsaw_是从Java 8启动的Project Jigsaw吗?
  10. 如何使用单例EJB和MBean构建和清除参考数据缓存