以下是一个简单的Java程序,实现了服务器端和客户端之间的文件下载功能。

服务器端代码:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class FileServer {

    public static void main(String[] args) {
        int port = 12345;

        try {
            ServerSocket serverSocket = new ServerSocket(port);
            System.out.println("Server started. Listening on port " + port);

            while (true) {
                Socket clientSocket = serverSocket.accept();
                System.out.println("Client connected: " + clientSocket.getInetAddress().getHostAddress());

                OutputStream outputStream = clientSocket.getOutputStream();
                FileInputStream fileInputStream = new FileInputStream("path_to_file/file_to_download.txt");

                byte[] buffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = fileInputStream.read(buffer)) != -1) {
                    outputStream.write(buffer, 0, bytesRead);
                }

                fileInputStream.close();
                outputStream.close();
                clientSocket.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端代码:

import java.io.*;
import java.net.Socket;

public class FileClient {

    public static void main(String[] args) {
        String serverAddress = "127.0.0.1";
        int port = 12345;

        try {
            Socket socket = new Socket(serverAddress, port);
            System.out.println("Connected to server: " + serverAddress);

            InputStream inputStream = socket.getInputStream();
            FileOutputStream fileOutputStream = new FileOutputStream("path_to_save_file/downloaded_file.txt");

            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                fileOutputStream.write(buffer, 0, bytesRead);
            }

            fileOutputStream.close();
            inputStream.close();
            socket.close();

            System.out.println("File downloaded successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在服务器端代码中,需要将path_to_file/file_to_download.txt替换为你想要下载的文件的路径。在客户端代码中,需要将path_to_save_file/downloaded_file.txt替换为你想要保存下载文件的路径。

这个程序会将服务器端的文件发送给客户端,并保存到客户端指定的路径中

java程序设计一个服务器端和客户端完成文件下载功能?

原文地址: http://www.cveoy.top/t/topic/iGJ3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录