java socket 传输压缩文件_java基于socket传输zip文件功能示例
本文实例讲述了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文件功能示例相关推荐
- java 解压文件_java实现解压zip文件,(亲测可用)!!!!!!
项目结构: Util.java内容: package com.cfets.demo; import java.io.File; import java.io.FileOutputStream; imp ...
- java网络传输压缩数据_Java数据压缩与传输实例Java源码
[实例简介]Java数据压缩与传输实例Java源码 [实例截图] [核心代码] import java.net.*; import java.io.*; import java.util.zip.GZ ...
- java解压中文乱码_java使用解压zip文件,文件名乱码解决方案
File outFileDir = new File(outDir); if (!outFileDir.exists()) { boolean isMakDir = outFileDir.mkdirs ...
- java swing 控件拖动_java swing中实现拖拽功能示例
java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...
- java的简单数字时钟_Java实现的简单数字时钟功能示例
本文实例讲述了java实现的简单数字时钟功能.分享给大家供大家参考,具体如下: 应用名称:java数字时钟 用到的知识:java gui编程,线程 开发环境:win8+eclipse+jdk1.8 功 ...
- java 正则表达式 电话_Java读取文件及基于正则表达式的获取电话号码功能详解...
本文实例讲述了Java读取文件及基于正则表达式的获取电话号码功能.分享给大家供大家参考,具体如下: 1.正则表达式 正则表达式,又称 正规表示法 . 常规表示法 (英语:Regular Express ...
- java下载zip文件损坏_使用Java下载.zip文件会导致损坏的.zip文件?
我写了这个方法来下载最新的Selenium Chrome驱动程序,它不起作用.它导致损坏的.zip文件.任何人都可以发现我的错误在哪里?使用Java下载.zip文件会导致损坏的.zip文件? priv ...
- java http客户端实现_Java基于Socket实现HTTP下载客户端
没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送如何从Socke ...
- socket java 客户端_Java基于socket实现的客户端和服务端通信功能完整实例
本文实例讲述了Java基于socket实现的客户端和服务端通信功能.分享给大家供大家参考,具体如下: 以下代码参考马士兵的聊天项目,先运行ChatServer.java实现端口监听,然后再运行Chat ...
最新文章
- WinForm界面开发之 启动界面
- cocos2dx对所有子节点设置透明度
- NeHe教程Qt实现——lesson07
- 常见的面试思考题(MARK)
- mac装windows遇到的问题总结
- 到网站进过的服务器 命令,进入服务器的命令
- [C++ map dp]codeforces 960F. Pathwalks
- spring-注入list集合对象(值是对象)
- windows查看linux端口,Linux和Windows下查看端口详解
- 大话设计模式-原型模式的浅复制与深复制
- linux-inject:注入代码到运行的Linux进程中
- 分布式存储之GlusterFS软件安装及使用
- 用户故事与敏捷方法—概况
- 计算机毕业设计springboot+vue+elementUI高校学生实习管理管理系统
- 深度linux系统老版本,Deepin Linux15.7下载
- ABIDE数据集预处理项目
- python中and和or的惰性求值特点_Python 惰性求值
- 阿里实习生电话面试果断被鄙视
- JavaWeb实现注册登录功能并将用户数据写进数据库(商城系统第一部分)
- ZooKeeper Commands: The Four Letter Words
热门文章
- spring 导出csv_Spring批处理CSV处理
- Spring Boot YAML配置
- java jvm调优_(第1部分,共3部分):有关性能调优,Java中的JVM,GC,Mechanical Sympathy等的文章和视频的摘要...
- 如何在Java中使用重复项查找整数数组中的K个缺失数字?
- java 垃圾回收手动回收_Java垃圾回收(2)
- jax-rs jax-ws_JAX-RS Bean验证错误消息国际化
- spring shell_Spring Shell项目发布
- gradle ant_使用Gradle引导旧式Ant构建
- java jigsaw_是从Java 8启动的Project Jigsaw吗?
- 如何使用单例EJB和MBean构建和清除参考数据缓存