实现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文件传输了。希望这篇文章能帮助到你,祝你顺利!