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两台设备之间的文件传输了。祝你学习顺利!