使用TCP协议写一个可以上传文件的服务器和客户端
来源:互联网 发布:快压mac版 编辑:程序博客网 时间:2024/05/01 05:21
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;import java.util.Scanner;public class Test7_Client { /** * 7、使用TCP协议写一个可以上传文件的服务器和客户端。 * 分析: * InputStreamReader字符与字节转化的桥梁 * 输出流用PrintStream 更方便 * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //获取需要上传的文件路径 File file = getFile(); //连接服务器 建立读写流 Socket socket = new Socket("127.0.0.1",6060); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream ps = new PrintStream(socket.getOutputStream()); //将文件路径 输出 给服务器 ps.println(file.getName()); String result = br.readLine(); if ("文件已经存在!".equals(result)){ //判断服务器上是否已经有了此文件,如已存在则不用上传 System.out.println("文件已经存在,请不要重复上传!"); socket.close(); return; } //服务器上不存在此文件,建立输入流 FileInputStream fis = new FileInputStream(file); byte arr[] = new byte[8192]; //高效传输 int len; while((len = fis.read()) != -1){ ps.write(arr, 0, len); } fis.close(); //关流关连接 socket.close(); } /** * 获取上传的文件路径 * @return File */ public static File getFile() { Scanner sc = new Scanner(System.in); System.out.println("输入文件路径:"); //判断要上传的文件路径是否存在 while(true){ String line = sc.nextLine(); File file = new File(line); if(!file.exists()){ System.out.println("文件路径不存在!请重输:"); }else if (file.isDirectory()){ System.out.println("输入的是文件夹路径!请重输:"); }else{ return file; } } }}
0 0
- 【TCP】使用TCP协议写一个可以上传文件的服务器和客户端。
- 使用TCP协议写一个可以上传文件的服务器和客户端
- 使用TCP协议写一个可以上传文件的服务器和客户端。
- 使用TCP协议写一个可以上传文件的服务器和客户端
- 使用TCP协议写一个可以上传文件的服务器和客户端
- 使用TCP协议实现一个可以上传文件的客户端源代码(附详细注释)
- 使用TCP协议写一个可以上传文件的服务器端源代码(附详细注释)
- JAVA_ 网络编程,写一个可以上传文件的服务器和客户端
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- Java练习题-使用TCP协议完成一个客户端一个服务器
- 10、使用TCP协议完成一个客户端一个服务器。
- 使用jrtplib写的一个简单服务器和客户端程序
- tcp服务器客户端文件上传和t下载
- 使用TCP协议实现客户端和服务器数据传输
- Windows下使用TCP协议变长交互客户端和服务器的数据传输
- 基于TCP协议实现服务器和客户端的通信程序
- python3实现TCP协议的简单服务器和客户端
- C#第4周实验
- 将字符串中进行反转。abcde --> edcba
- iOS 多线程自己的理解
- EditeText的maxlength中文、字符长度限制
- 关于 jQuery,什么叫隐式迭代(implicit iteration)?
- 使用TCP协议写一个可以上传文件的服务器和客户端
- Android面试回忆录
- 利用資源分割優化iOS包裝大小
- orcale基本函数1_--NULL值校验
- 从无到有系列之Hive-入门操作及简单应用02
- Java微信公众平台开发【番外篇】(七)——公众平台测试帐号的申请
- Tcp上传文件 服务器端
- Android开发之WebView和JS交互详解
- Windows下使用code::blocks开发cocos2dx