实现Java txt文件传输
整体流程
首先,我们需要建立一个客户端和一个服务器端来进行文件传输。客户端将本地的txt文件传输给服务器端,服务器端接收文件并保存在本地。
步骤
步骤 | 客户端操作 | 服务器端操作 |
---|---|---|
1 | 选择要传输的txt文件 | 等待接收文件 |
2 | 建立与服务器的连接 | 等待客户端连接 |
3 | 发送文件给服务器 | 接收文件并保存 |
代码实现
客户端代码
import java.io.*;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
// 连接服务器
Socket socket = new Socket("服务器IP", 8888);
System.out.println("连接成功");
// 读取本地txt文件
File file = new File("文件路径");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
// 发送文件
OutputStream os = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
os.flush();
socket.shutdownOutput();
// 关闭资源
bis.close();
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务器端代码
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
// 启动服务器
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接");
// 监听客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端连接成功");
// 接收文件
InputStream is = socket.getInputStream();
FileOutputStream fos = new FileOutputStream("保存文件路径");
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
// 关闭资源
bos.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
状态图
stateDiagram
[*] --> 客户端发送文件
客户端发送文件 --> 服务器接收文件
服务器接收文件 --> [*]
通过以上步骤和代码,你就可以实现Java txt文件传输了。希望这篇文章能帮助到你,祝你顺利!