这是一个简单的包含发送端和接收端的例子
发送端向接收端发送文件名和文件内容,接收端将收到的文件保存在磁盘上
接收端可以同时接收多个发送端传来的文件,但没有处理文件同名的情况
这个例子中设计了一个简单的协议
发送的内容是这样的: 文件名长度(4 字节)—文件名—文件内容长度(4 字节)—文件内容
接收端也按照这个结构进行解析
建议先看 Client 类,再看 Server 类
view plaincopy to clipboardprint
import java
*; import java
ServerSocket; import java
Socket; /** * 简单的文件发送与接收示例 */ public class FileTrasmission { //程序入口 public static void main(String[] args) throws Exception { int port = 7788; new Server(port, "c:\\save\\")
start(); new Client()
sendFile("127
1", port, "c:\\迷失在康熙末年
txt"); } } /** * 接收端
可同时接收多个发送端发来的文件
但如果发来的文件是同名的话那就乱了
*/ class Server { private int listenPort; private String savePath; /** * 构造方法 * * @param listenPort 侦听端口 * @param savePath 接收的文件要保存的路径 * * @throws IOException 如果创建保存路径失败 */ Server(int listenPort, String savePath) thro