/**
客户端
1、服务端点
2、读取客户端已有的文件数据
3、通过socket输出流发给服务端
4、读取服务端反馈信息
5、关闭
**/
import java.io.*;
import java.net.*;
class  UploadClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("127.0.0.1",4434);
FileInputStream fis = new FileInputStream("D://2.png");
OutputStream out = s.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf))!=-1)
{
out.write(buf,0,len);
}
//数据已经完成的时候执行shutdownOutput
s.shutdownOutput();
InputStream is = s.getInputStream();
byte[] bufin = new byte[1024];
int lenin = is.read(bufin);
System.out.println(new String(bufin,0,lenin));
fis.close();
s.close();
}
}
/**
服务器端
*/
class  UploadServer
{
public static void main(String[] args)throws Exception
{
ServerSocket ss = new ServerSocket(4434);
Socket s = ss.accept();
InputStream is = s.getInputStream();
FileOutputStream fos = new FileOutputStream("C://test.jpg");
byte[] buf = new byte[1024];
int len = 0;
while((len = is.read(buf))!=-1)
{
fos.write(buf,0,buf.length);
}
OutputStream out = s.getOutputStream();
out.write("上传成功".getBytes());
fos.close();
s.close();
ss.close();
}
}

Java Tcp文件传输---转载的更多相关文章

  1. 艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(四)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开源,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  2. 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  3. Java 简单TCP文件传输

    服务端 package TCP; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputSt ...

  4. Java简单文件传输 socket简单文件传输示例

    服务器端代码: import java.io.*; import java.net.*; /** * Created with IntelliJ IDEA. * User: HYY * Date: 1 ...

  5. java实现文件传输

    在windows下装了个linux虚拟机,两者之间传输文件挺麻烦的.写了个简单的文件传输程序,来方便自己数据传送. server 端: import java.io.BufferedReader;im ...

  6. qt+boost::asio+tcp文件传输

    客户端: void qt_boost::pbSendFileClicked(){ QString filename = ui.leFileName->text(); QByteArray ba ...

  7. Go语言 之TCP文件传输

    服务端实现流程大致如下: 创建监听listener,程序结束时关闭. 阻塞等待客户端连接,程序结束时关闭conn. 读取客户端发送文件名.保存fileName. 回发“ok”给客户端做应答 封装函数 ...

  8. 在TCP文件传输中如何判断java流的末尾

    感谢前辈们的解答:https://bbs.csdn.net/topics/280085530 问题描述: 服务端向客户端发送数据流,服务端发完了数据不关闭流. 我在客户端读流,我无法读到-1,所以无法 ...

  9. python基础实现tcp文件传输

    准备工作,实现文件上传需要那些工具呢? socket(传输).open()(打开文件).os(读取文件信息),当然还有辅助类sys和json,下面我们开始吧 import socket,sys imp ...

随机推荐

  1. laravel 添加第三方扩展库

    确定需要安装的位置 common.php测试代码 打开cmd 跳转到项目根目录下运行命令 composer install 打开文件 vender/composer/autoload_classmap ...

  2. easy-ui 有依赖关系的下拉列表(省市区县)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Photoshop定义画笔选区为空的原因

    定义画笔预设时,选择选区后需填充黑色,否则将出现选区为空的提示

  4. Spring Boot--war发布

    启动main类继承SpringBootServletInitializer,并重写"protected SpringApplicationBuilder configure(SpringAp ...

  5. OpenWRT编译记录--TPLINK_WR841ND_V7

    之前自己编译OpenWRT的一些记录,现在搬上来.简单介绍了编译环境的准备,编译过程,以及一些注意事项. 准备工作 本人是在Ubuntu环境下编辑的,首先安装编译所需要的组件包: sudo apt-g ...

  6. java 中递归的实现 以及利用递归方法实现汉诺塔

    今天说下java语言中比较常见的一种方法,递归方法. 递归的定义 简单来说递归的方法就是"自己调用自己",通过递归方法往往可以将一个大问题简单化,最终压缩到一个易于处理的程度.对于 ...

  7. clone()方法、深复制和浅复制

    clone方法 Java中没有明确提供指针的概念和用法,而实质上没个new语句返回的都是一个指针的引用,只不过在大部分情况下开发人员不需要关心如何去操作这个指针而已. 在实际编程中,经常会遇到从某个已 ...

  8. hadoop 2.2.0 关于map和reduce的个数的设置

    关于hadoop中的map过程,我的理解是每一个map系统会开启一个JVM进程来处理,map之间相互并行,map函数内串行.这样的想法是否正确? 由于想在hadoop集群上算一个初始输入数据不多,但是 ...

  9. gulp学习笔记(一)

    gulp 是基于 Nodejs 的自动任务运行器,能自动化地完成javascript/coffee/sass/less/html/image/css等文件的的测试.检查.合并.压缩.格式化.浏览器自动 ...

  10. 为什么 把单一元素的数组放在一个struct的尾端问题

    问题摘自<深度探究c++对象模型>: struct mumble { /* stuff */ char pc[ 1 ];};[sizeof(mumble)是一个字节 .pc则代表的是指向这 ...