资源简介

TCP实现的文件上传功能,客户端向服务器发送文本文件,服务器端接收文本文件内容,保存至服务器

资源截图

代码片段和文件信息

/*
* 实现一个简单的,TCP协议的文本文件传输程序
* 客户端选择文件,向服务器端发送,服务器端接收数据,保存到指定文件中
*/

import java.io.*;
import java.net.*;

class TransClient
{
public static void main(String[] args) throws Exception{
//判断参数传入是否正确
if(args.length != 1){
sop(“请输入需要传入的文件名路径!“);
return;
}
File file = new File(args[0]);
if(!(file.exists() || file.isDirectory())){
sop(“此文件不存在,或者该文件是一个目录!“);
return;
}
sop(“Success!“);
//创建文件读取流
BufferedReader br = new BufferedReader(new FileReader(file));
//创建套接字,指定服务器的IP以及端口号
Socket socket = new Socket(“192.168.1.119“ 10000);
//获取套接字的输出流,将文件中的内容写入输出流,传送到服务器端
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String line = null;

//readLine() 返回包含该行内容的字符串,不包含任何行终止符
while((line = br.readLine()) != null){
bufw.write(line);
//必须要加入一个换行,否则服务器端调用readLine永远无法读到完整的一行,会阻塞在那里!
bufw.newLine();
bufw.flush();
}

sop(“Client read end...“);
//将套接字socket的输入流禁用,设置输出流达到末尾(-1),否则服务器端会一直等待输入。
socket.shutdownOutput();
//获取套接字的输入流,等待就收服务器端的反馈
BufferedReader bufr = new BufferedReader(new InputStreamRead

评论

共有 条评论