TCP文件上传Java_java 基于TCP协议的文件上传
参考文档
1.https://www.sxt.cn/Java_jQuery_in_action/ten-filebytestream.html
2.https://www.sxt.cn/Java_jQuery_in_action/ten-bufferedbyte.html
参考视频
https://www.bilibili.com/video/BV1ct411n7oG?p=245
1.代码功能
客户端上传文件到服务器端
2.学习重点
1.文件字节流
2.缓冲字节流
3.客户端代码
1.注意输入流是FileInputStream
2.把客户端的输入流经过缓存数组读写入到客户端的输出流
package com.sxt.tcp;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class FileClient {
public static void main(String[] args) throws UnknownHostException, IOException {
//1.建立连接:使用Socket创建客户端+服务的地址和端口
System.out.println("=================client================");
Socket client=new Socket("localhost",8888);
//2.操作:拷贝 上传
InputStream is=new BufferedInputStream(new FileInputStream("src/ndl.png"));
OutputStream os=new BufferedOutputStream(client.getOutputStream());
byte[] flush=new byte[1024];
int len=-1;
while((len=is.read(flush))!=-1) {
os.write(flush,0,len);
}
os.flush();
//3.释放资源
os.close();
is.close();
client.close();
}
}
4.服务器端代码
1.注意输出流是FileOutputStream
2.把客户端的输出流经过缓存数组读写入到服务器端输出流
package com.sxt.tcp;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class FileServer {
public static void main(String[] args) throws IOException {
// 1.指定端口 使用ServerSocket创建服务器
ServerSocket server=new ServerSocket(8888);
// 2.阻塞式等待连接 accept
Socket client=server.accept();
System.out.println("一个客户端建立了连接");
//3.操作:文件拷贝 存储
InputStream is=new BufferedInputStream(client.getInputStream());
OutputStream os=new BufferedOutputStream(new FileOutputStream("src/tcp.png"));
byte[] flush=new byte[1024];
int len=-1;
while((len=is.read(flush))!=-1) {
os.write(flush,0,len);
}
os.flush();
os.close();
is.close();
}
}
TCP文件上传Java_java 基于TCP协议的文件上传相关推荐
- TCP/IP网络编程之基于TCP的服务端/客户端(二)
回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
TCP/IP网络编程之基于TCP的服务端/客户端(一) 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于 ...
- TCP文件上传Java_Java 理解TCP通信案例:文件上传案例
文件上传分析图解 [客户端]输入流,从硬盘读取文件数据到程序中. [客户端]输出流,写出文件数据到服务端. [服务端]输入流,读取文件数据到服务端程序. [服务端]输出流,写出文件数据到服务器硬盘中. ...
- 基于FTP协议实现文件上传与下载
目录 一.FTP简介 二.关于FTP服务器 三.文件上传 分步讲解: 完整实现代码: 四.下载文件 分步讲解: 完整实现代码: 小结 一.FTP简介 FTP(File Transfer Protoco ...
- 基于FTP协议的文件传输与下载
目录 一.FTP协议: 二.文件上传: 1.连接服务器 2.登录操作 3.上传操作 三.文件下载 1.连接服务器 2.登录操作 3.下载操作 四. 总结: 一.FTP协议: ftp是(File Tra ...
- java tcp 编程实例_Java实现基于TCP的通讯程序实例解析
Java中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的步骤: 1.服务端程序,需要事先启动,等待客户端连接 2.客户端主动连接服务器端,才 ...
- excel上传java_java:Excel操作之Excel上传
1.导入我们需要的jar包. 2.创建servlet命名为UploadExcelServlet,url为UploadExcelServlet. 3.创建Excel的批量处理方法ExcelBatchUt ...
- qq传java文件_java学习:基于TCP的网络文件传输(可改写的QQ文件传输)
由于最近要写个仿聊天程序中文件传输的内容,又学习了一下流的知识 找了好久没找到很全的,后来不知道哪个地方找了个不错的客户端和服务器端的代码,自己改了下,感觉还行吧.放到博客上来帮助记忆 服务器端: p ...
- vivo手机互传的文件怎么找到_基于 P2P 的在线文件传输工具,电脑与手机互传文件...
小鹿快传是一款点对点(P2P)的在线文件传输工具,无需登录,即可在电脑.手机间互传文件,简单方便快捷. 小鹿快传是一款在线工具,只需要使用浏览器打开即可传输.无论电脑与电脑之间,手机与手机之间,还是电 ...
最新文章
- linux 裸设备 逻辑卷,Linux通过逻辑卷使用裸设备
- python实例 列表
- 用 Parity 发送 ERC20 Token
- kubernetes-Pod定义
- 微信小程序 监听位置信息
- linux 命令行使用wget下载百度云资源
- 华为2019网络挑战赛初赛网络方向部分模拟题及答案
- QT 信号与槽不在同一个线程 connect
- [工作随笔]关于马戏团的故事
- 艾伦·凯与Smalltalk语言
- 湖南大学计算机考研资料汇总
- 搜索算法——双向bfs
- python 取整运算符_python运算符
- 详解动态规划算法(Python实现动态规划算法典型例题)
- [SLAM]高博视觉SLAM十四讲ch4中useSophus报错
- C#网站图片下载器,网络爬虫,仅供学习参考使用,不可用于商业活动
- 今天情人节,程序员该如何绝地反击?
- JavaScript — 基础语法
- 【测试工具】五、jmeter在GUI与non-GUI模式下结果集自定义封装展示
- visual studio 2019 分屏