用 TCP 协议写一个客户端和一个服务端,实现上传文件
2016-04-12 23:00
639 查看
package com.heima.test; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Test20_2 { /**用 TCP 协议写一个客户端和一个服务端,实现上传文件 * @param args * @throws IOException */ public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(6060); System.out.println("服务器绑定成功!绑定6060端口!"); while(true){ final Socket socket = server.accept(); new Thread(){ public void run(){ try { InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); PrintStream ps = new PrintStream(socket.getOutputStream()); String fileName = br.readLine(); File dir = new File("updata"); dir.mkdir(); File file = new File(dir,fileName); if(file.exists()){ ps.println("存在!"); socket.close(); return; }else{ ps.println("不存在!"); } FileOutputStream fos = new FileOutputStream(file); byte []arr = new byte[8192]; int len; while((len = is.read(arr)) != -1){ fos.write(arr,0,len); } fos.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } } }
相关文章推荐
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- 理解 Linux 网络栈(1):Linux 网络协议栈简单总结
- 20159311《网络攻击与防范》第六周学习总结
- HttpContext及HttpContext.current
- https请求
- TCP协议中的SO_LINGER选项
- http post请求
- http get请求
- 网络:GET 登录和转码
- 检查网络是否可用
- http协议
- 2016广东工业大学网络赛 B
- http://www.cnblogs.com/liyiwen/archive/2012/12/02/2798876.html
- 网络:GET 与自设缓存方法
- Android 基于Retrofit+Rxjava搭建的简单易用的网络架构
- 查询网络连接状态
- 深度学习系列(3.3)——神经网络结构
- 关于启用sessionState外部存储,导致IHttpAsyncHandler长连接阻塞线程的问题
- 子线程网络图片查看器和Handler消息处理器
- 1214 线段覆盖——http://codevs.cn/problem/1214/