废话1000000字省略.........呵呵......

首先是服务器端:FileServer.java

package com.stars.windsystem.tool.utils;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

/**

* @描述: TODO 服务器端: 本例为通过Socket编程实现从 服务器端 发送文件到 客户端

* @类名称: FileServer

* @作者: 宋延军

* @邮箱: songyanjun_stars@126.com

* @日期: Feb 14, 2012 11:57:47 AM

*/

public class FileServer {

/**

* 描述: TODO 服务器端测试入口

* @标题: main

* @设定: @param a

* @返回类型: void

*/

public static void main(String[] a) {

FileServer fileServer = new FileServer();

fileServer.sendFile();

}

public void sendFile() {

byte[] buffer = new byte[1024];// 定义一byte类型的缓冲区。

try {

ServerSocket ssocket = new ServerSocket(2000);

System.out.println("服务器启动!");

Socket socket = ssocket.accept();

int length = 0;

File f = new File("d:\\aaa.txt");

FileInputStream fis = new FileInputStream(f);

DataInputStream dataIn = new DataInputStream(fis);

DataOutputStream dataOut = new DataOutputStream(socket.getOutputStream());

while ((length = dataIn.read(buffer)) != -1)

{

dataOut.write(buffer, 0, length);

}

dataOut.flush();

dataOut.close();

fis.close();

System.out.println("文件传送完毕!!!");

socket.close();

}

catch (IOException ex)

{

ex.printStackTrace();

}

}

}

其次是 客户端:FileClient.java

package com.stars.windsystem.tool.utils;

import java.io.DataInputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.net.Socket;

/**

* @描述: TODO 客户端: 本例使用socket编程实现从服务器端接收程序到客户端

* @类名称: FileClient

* @作者: 宋延军

* @邮箱: songyanjun_stars@126.com

* @日期: Feb 14, 2012 12:01:57 PM

*/

public class FileClient {

/**

* 描述: TODO 客户端测试入口

* @标题: main

* @设定: @param args

* @返回类型: void

*/

public static void main(String[] args) {

FileClient fileClient = new FileClient();

fileClient.receiveFile();

}

public void receiveFile() {

byte[] buffer = new byte[1024];

int length = 0;

try {

Socket socket = new Socket("10.40.2.7", 2000);

DataInputStream dataIn = new DataInputStream(socket

.getInputStream());

File f = new File("d:\\fff.txt");

if (!f.exists())

f.createNewFile();

FileOutputStream fos = new FileOutputStream(f);

while ((length = dataIn.read(buffer)) != -1) {

fos.write(buffer, 0, length);

}

fos.close();

System.out.println("客户端文件接收完毕!!!");

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

Over!!!

java socket 工具包_java.net 包 Socket通信 工具类相关推荐

  1. java 获取温度_Java利用RXTX串口通信工具类获取DS18B20温度传感器的温度值

    环境:Windows10,Eclipse4.5.2,JDK1.7 设备:DS18B20温度传感器(4线,485接口),USB转485接口转换器,笔记本电脑 注意点:RTU传输,使用的是字节,那么在程序 ...

  2. 「问题解决」java web项目打成jar包运行后工具类无法读取模板文件的解决方法

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

  3. java 集合操作工具包_java之操作集合的工具类--Collections

    Collections是一个操作Set.List和Map等集合的工具类. Collections中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变.对集合对象实现同步控 ...

  4. java 兑换码生成_java生成兑换码礼包码--工具类

    importjava.util.HashSet;importjava.util.Random;importjava.util.Set;public classGenSerial {private st ...

  5. java线程 睡眠_java如何编写线程睡眠工具类包括随机睡眠时长

    最后给大家贴下这个睡眠工具类的完整代码 public class Sleep { /** * 睡眠n毫秒 * @param time */ public static void threadSleep ...

  6. java练习案例_Java项目案例之---常用工具类练习

    常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 importjava.util.Scanner ...

  7. Java并发(六)——CAS、AQS、Lock、通信工具类

    文章目录 CAS.AQS.Lock.通信工具类 1 CAS 1.1 Unsafe类 1.2 Atomic包 2 AQS 3 Condition 4 ReentrantLock 4.1 公平锁部分源码 ...

  8. 常用并发工具类(锁和线程间通信工具类)

    常用并发工具类总结 JUC 下的常用并发工具类(锁和线程间通信工具类),主要包括 ReentrantLock.ReentrantReadWriteLock.CountDownLatch.CyclicB ...

  9. java中使用jxl导出excel表格的工具类(全网唯一亲测可用,在原来基础上扩展)

    java中后台导出excel的话,有两种方案,一是使用poi(不过由于是windows版本的,存在不兼容,但功能更多,更强大),而是使用jxl(纯java编写,不过兼容,简单一些),可以设置输出的ex ...

最新文章

  1. Visual C++ 2011-8-15
  2. springmvc 配置多个数据源,并动态切换
  3. 利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM
  4. java 设计模式 示例_Java中的策略设计模式-示例教程
  5. 数据结构算法入门--一文了解什么是复杂度
  6. ADO.NET多值查询
  7. EF更新指定字段...
  8. 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
  9. 用户画像的构建与使用2应用
  10. 人力资源学python有意义吗-给还准备继续做HR的人提个醒!
  11. 老罗Android开发视频教程(Android入门介绍)九集集合
  12. wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
  13. 2.1数据库-MySQL
  14. 移动硬盘上安装WIN7 WIN10系统
  15. sqlServer2014用sql server身份认证登录
  16. 《泛型编程与stl》
  17. 生物AI插图免费领取
  18. 剑灵服务器人数最多,2020剑灵服务器人数排名,剑灵哪个服务器人多
  19. python实现基金定投并可视化结果(及时止损)
  20. windows编译opencv opencv-contrib

热门文章

  1. 微信小程序获取用户信息(纯前端)
  2. python 数组快速分组
  3. mac数据恢复软件 免费 magoshare data rescovery
  4. 【深度学习】 自编码器(AutoEncoder)
  5. 一文详解Unexpected character (‘“‘ (code 34)): was expecting comma to separate Object entries的问题
  6. 【C语言】齿轮啮合问题
  7. win10/win11取消登陆密码
  8. Python遍历列表时删除元素的正确做法
  9. java毕业设计石家庄学院学生实习管理系统mybatis+源码+调试部署+系统+数据库+lw
  10. 嘉立创EDA持续进化,以创新引领板级EDA高质量发展