Java两台设备传送文件教程
1. 整个流程
首先,我们来看一下整个传送文件的流程。下面是一个简单的表格展示:
步骤 | 描述 |
---|---|
1 | 打开发送端的Java程序 |
2 | 打开接收端的Java程序 |
3 | 建立连接 |
4 | 发送文件 |
5 | 接收文件 |
6 | 关闭连接 |
2. 具体步骤
步骤1:打开发送端的Java程序
首先,我们需要在发送端编写一个Java程序来发送文件。以下是发送端Java程序的代码:
// 创建一个Socket对象,指定接收端的IP地址和端口号
Socket socket = new Socket("接收端IP地址", 端口号);
// 创建文件输入流,读取要发送的文件
File file = new File("文件路径");
FileInputStream fis = new FileInputStream(file);
// 创建Socket输出流,用于发送文件数据
OutputStream os = socket.getOutputStream();
// 将文件数据写入输出流
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
// 关闭流和Socket连接
os.close();
fis.close();
socket.close();
步骤2:打开接收端的Java程序
接下来,在接收端编写一个Java程序来接收文件。以下是接收端Java程序的代码:
// 创建一个ServerSocket对象,指定端口号
ServerSocket serverSocket = new ServerSocket(端口号);
// 监听来自发送端的连接请求
Socket socket = serverSocket.accept();
// 创建文件输出流,用于写入接收到的文件数据
File file = new File("保存文件路径");
FileOutputStream fos = new FileOutputStream(file);
// 创建Socket输入流,读取发送端发送的文件数据
InputStream is = socket.getInputStream();
// 将文件数据写入输出流
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
// 关闭流和Socket连接
fos.close();
is.close();
socket.close();
serverSocket.close();
步骤3:建立连接
发送端和接收端的程序中分别使用了Socket和ServerSocket来建立连接。
步骤4:发送文件
发送端程序将文件数据通过Socket发送到接收端。
步骤5:接收文件
接收端程序通过ServerSocket接收发送端发送的文件数据,并写入到文件中。
步骤6:关闭连接
在发送端和接收端程序中,一旦文件传输完成,需要关闭流和Socket连接。
序列图
下面是整个文件传输过程的序列图:
sequenceDiagram
participant Sender
participant Receiver
Sender->>Receiver: 发送文件请求
Receiver->>Sender: 接收文件请求确认
Sender->>Sender: 发送文件数据
Receiver->>Receiver: 接收文件数据
通过以上步骤和代码示例,你应该可以实现Java两台设备之间的文件传输了。祝你学习顺利!