利用Socket serverSocket实现文件上传
来源:互联网 发布:人工智能观后感5中英文 编辑:程序博客网 时间:2024/05/29 01:53
客户端只用到Socket类
public class UploadTextClient { public static void main(String[] args) throws IOException{ //1创建Socket Socket s = new Socket("192.168.31.168", 10005); //上传文件 ---发送 //源: 磁盘文件, FileReader //目的: socket, s.getOutputStream() //额外功能:BufferedReader, PrintWriter BufferedReader br = new BufferedReader(new FileReader("files/a.txt")); PrintWriter pw = new PrintWriter( s.getOutputStream(),true); String str = null; while( (str=br.readLine())!=null){ pw.println(str); } //★给服务器发送一个结束标记 s.shutdownOutput(); //接收服务器的应答消息 BufferedReader br2 = new BufferedReader( new InputStreamReader(s.getInputStream()) ); String info = br2.readLine(); System.out.println("server:"+info); s.close(); }}
服务器端刚开始是用到ServerSocket, 再通过server.accept()拿到客户端的socket, 进而通过socket和客户端通讯
public class UploadTextServer { public static void main(String[] args) throws IOException { //1创建ServerSocket ServerSocket server = new ServerSocket(10005); //2获得握手方(客户端)对应的socket Socket ss = server.accept(); //3读取客户端上传的文件数据----源:socket, 目的:本地磁盘 BufferedReader br = new BufferedReader(new InputStreamReader(ss.getInputStream())); PrintWriter pw = new PrintWriter( new FileWriter("files\\abc.txt"),true); String str=null; while((str=br.readLine())!=null){ pw.println(str); } //4向客户端写应答消息 PrintWriter pw2 = new PrintWriter( ss.getOutputStream(),true); pw2.println("上传成功!"); ss.close(); server.close(); }
0 0
- 利用Socket serverSocket实现文件上传
- 使用Socket和ServerSocket上传文件
- 利用socket实现自动上传文件
- 利用socket上传文件
- Tcp从Socket客户端上传文件到ServerSocket服务端
- 利用Socket 实现 FTP 文件上传和文件下载
- Python利用Socket实现文件上传和下载
- php 利用socket上传文件
- php利用socket上传文件
- php 利用socket上传文件
- php 利用socket上传文件
- java socket编程(4)——利用socket实现聊天之上传文件
- 最简单的实现TCP通信,利用Socket和ServerSocket套接字
- android文件上传 socket实现
- socket实现http文件上传
- socket 实现文件上传实例
- ServerSocket:Socket & ServerSocket
- 利用MultipartFile实现文件上传
- hiho 1236 Scores 五维偏序 分块+bitset优化
- ForgottenHope Linux无GUI量化交易工具
- ArrayList的实现
- Cmder简单使用小结
- clipboard使用总结
- 利用Socket serverSocket实现文件上传
- 静态数组队列(循环队列)基本操作
- Swing布局管理器介绍
- Glide – How Yelp’s Android App Loads Images
- TCP/IP
- centos7下修改主机名
- 基于日志理解 cms 原理,为什么remark要stop the world?(理解CMS GC日志.)
- Simditor修改缩进为首行缩进
- Java 自定义异常解读