Java--利用TCP实现文件上传

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

图解

步骤

  1. 【客户端】输入流,从硬盘读取文件数据到程序中。
  2. 【客户端】输出流,写出文件数据到服务端。
  3. 【服务端】输入流,读取文件数据到服务端程序。
  4. 【服务端】输出流,写出文件数据到服务器硬盘中

代码实现

服务器

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;/*** @author ServerTCP* @date 2020/4/25 10:51 上午*/
public class ServerTCP {public static void main(String[] args) throws IOException {System.out.println("服务启动,等待连接中");//创建ServerSocket对象,绑定端口,开始等待连接ServerSocket ss = new ServerSocket(8888);//接受accept方法,返回socket对象Socket server = ss.accept();//获取输入对象,读取文件BufferedInputStream bis = new BufferedInputStream(server.getInputStream());//保存到本地BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("copy.txt"));//创建字节数组byte[] b = new byte[1024 * 8];//读取字符数组int len;while ((len = bis.read(b)) != -1) {bos.write(b, 0, len);}//关闭资源bos.close();bis.close();server.close();System.out.println("上传成功");}
}

客户端

import java.io.*;
import java.net.Socket;/*** @author ClientTCP* @date 2020/4/25 10:58 上午*/
public class ClientTCP {public static void main(String[] args) throws IOException {//创建输入流BufferedInputStream bis = new BufferedInputStream(new FileInputStream("in.txt"));//创建SocketSocket client = new Socket("127.0.0.1", 8888);//输出流BufferedOutputStream bos = new BufferedOutputStream(client.getOutputStream());//写出数据byte[] b = new byte[1024 * 8];int len;while ((len = bis.read(b)) != -1) {bos.write(b, 0, len);bos.flush();}System.out.println("文件已上传");//关闭资源bos.close();client.close();bis.close();System.out.println("文件上传完成");}
}

结果

感谢

黑马程序员

以及勤劳的自己

.net core 文件流保存图片_Java--利用TCP实现文件上传相关推荐

  1. python—利用TCP实现数据上传

    今天晴,天气微热,易分享代码.因最近利用python完成脚本功能,现做一下整理,因整体代码过程可能不适用各种业务需求,先进行拆分讲解.如有缺陷或不美妙的地方,还请各位多多交流指教!! 以下代码将:利用 ...

  2. 利用iframe无刷新上传文件的坑

    利用iframe无刷新上传文件的坑 原文:利用iframe无刷新上传文件的坑 页面里经常要用到文件上传的功能,而且要求页面不刷新,先说一下原理:页面里放一个file控件和submit按钮,外面用for ...

  3. Java利用TCP进行文件的传输

    采用TCP进行通讯,需要服务器和客户端两个部分,因此程序包含SendFileServer.java和SendFileClient.java两个部分. 两个文件的IP,端口都在程序中指定 传输的文件路径 ...

  4. C++文件流:myfstream,fstream,文件读写,随机文件读写【C++文件流】(59)

    文件流 myfstream fstream Test myfstream fstream 流对象的定义 流对象关联文件 open 函数 打开方式 关闭流对象 文件读写 读写文本文件 读写接口 读一字/ ...

  5. Asp.Net 上传大文件专题(4)--利用ajax技术显示上传进度

    ====================================================== 注:本文源代码点此下载 ================================= ...

  6. 利用apache-commons-fileupload写jsp上传文件

    利用apache-commons-fileupload写jsp上传文件 需要下载fileupload和beanutils两个包,代码如下. <%@ page language="jav ...

  7. java文件流下载excel_React获取Java后台文件流下载Excel文件

    记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...

  8. asp如何将图片文件上传到mysql数据库中_怎样才能利用ASP把图片上传到数据库

    欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧! ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程 ...

  9. 02功能之读写文件流操作(C语言实现读取文件指定一行)

    02功能之读写文件流操作(C语言实现读取文件指定一行) 1 C语言读取文件指定一行 // 读取文件指定一行 int ReadLine1(const char *fileName, char outBu ...

最新文章

  1. 《游戏服务器的架构演进》阅读笔记
  2. PyQt之Eric:成功解决No module named 'my_image_rc'
  3. python如何爬取网站所有目录_[python] 爬取网站所有的URL
  4. scrapy爬虫实战分享
  5. hdu 1710 Binary Tree Traversals (二叉树)
  6. 用MySQL判断一个数为素数_判断一个数是否是素数
  7. 中公教育12月04日内外盘分析
  8. java8 协程_Java8 异步编程—CompletableFuture
  9. 程序安装--Outlook2016Professional+OraclePlsql
  10. 常见互联网slb方案
  11. 初十hu测 T3.deep(点分治)
  12. 企业微信审批页面HTML,企业微信审批模板调用示例及注意事项
  13. 机器学习 - 模型评估(TPR、FPR、K1、ROC、AUC、KS、GAIN、LIFT、GINI、KSI)
  14. 爱奇艺迎史上最大裁员潮:总监说撸就撸,有的部门直接裁一半......
  15. 数学建模之matlab软件学习06——专题六 数值微积分与方程求解
  16. 机器学习强基计划2-2:一文详解ID3、C4.5、CART决策树算法+ Python实现
  17. 华为发布会: 牛逼鸿蒙,吹水的大会!
  18. java毕业设计校园考勤系统mybatis+源码+调试部署+系统+数据库+lw
  19. 网站怎么开启CDN加速?最简单的步骤分享!
  20. VSCODE 好看的亮色系主题,收藏起来

热门文章

  1. 随机数据的构造与使用
  2. python深度学习NER任务中:对段落的分割
  3. 华为LINUX转换NTFS格式,linux中生成考核用的NTFS文件系统结构样例(一)
  4. geoserver加载mysql_GeoServer+MySQL的配置过程
  5. python find(urlopen.read())_Python小白必看之urlopen()详解
  6. 09丨缓存异常:如何解决缓存和数据库的数据不一致问题
  7. Vue——Windows 10下Vue项目启动步骤[vue-cli-service启动版本]
  8. Permute Digits
  9. 用百度开放地图api在代码中获得两地距离
  10. 【pytorch】pytorch自定义训练vgg16和测试数据集 微调resnet18全连接层