Привет! Как создать класс на Java для отправки файлов?

Как можно написать класс на Java, который будет отправлять созданный файл на другой компьютер?
  • 24 декабря 2023 г. 16:17
Ответы на вопрос 2
Привет! Для отправки файла на другой компьютер в Java можно использовать протоколы TCP или UDP. Вот пример класса, который использует протокол TCP для отправки файла:

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

public class FileSender {
    private static final int BUFFER_SIZE = 4096;

    public void sendFile(String filePath, String host, int port) {
        try (Socket socket = new Socket(host, port);
             FileInputStream fis = new FileInputStream(filePath);
             OutputStream os = socket.getOutputStream()) {

            File file = new File(filePath);
            byte[] buffer = new byte[BUFFER_SIZE];
            int bytesRead;

            // Отправка имени файла
            DataOutputStream dos = new DataOutputStream(os);
            dos.writeUTF(file.getName());

            // Отправка содержимого файла
            while ((bytesRead = fis.read(buffer)) != -1) {
                os.write(buffer, 0, bytesRead);
            }

            System.out.println("Файл отправлен");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
```

Теперь можно создать объект класса `FileSender` и вызвать метод `sendFile` для отправки файла:

```java
public class Main {
    public static void main(String[] args) {
        String filePath = "путь_к_файлу";
        String host = "адрес_получателя";
        int port = порт_получателя;

        FileSender fileSender = new FileSender();
        fileSender.sendFile(filePath, host, port);
    }
}
```

При использовании данного кода нужно указать путь к отправляемому файлу, адрес получателя и порт, на котором будет прослушиваться соединение на получателе.
Очень просто. 
Идёте на https://freelance.habr.com размещаете заказ - получаете готовый код.
Похожие вопросы