Привет! Чтобы написать класс на Java для отправки файлов, можно воспользоваться стандартными библиотеками Java, такими как java.net и java.io. Вот пример класса, который позволяет отправлять файлы по сети:
import java.io.*; import java.net.*; public class FileSender { public static void main(String[] args) { String serverAddress = "localhost"; // адрес сервера, куда будем отправлять файл int serverPort = 12345; // порт сервера String filePath = "path/to/file.txt"; // путь к файлу, который хотим отправить try (Socket socket = new Socket(serverAddress, serverPort)) { // Создаем сокет для подключения к серверу OutputStream outputStream = socket.getOutputStream(); FileInputStream fileInputStream = new FileInputStream(filePath); // Отправляем имя файла File file = new File(filePath); String fileName = file.getName(); byte[] fileNameBytes = fileName.getBytes(); outputStream.write(fileNameBytes.length); outputStream.write(fileNameBytes); // Отправляем размер файла long fileSize = file.length(); byte[] fileSizeBytes = Long.toString(fileSize).getBytes(); outputStream.write(fileSizeBytes.length); outputStream.write(fileSizeBytes); // Отправляем содержимое файла byte[] buffer = new byte[8192]; int count; while ((count = fileInputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, count); } // Закрываем все ресурсы fileInputStream.close(); outputStream.close(); System.out.println("Файл успешно отправлен!"); } catch (IOException e) { e.printStackTrace(); } } }
В данном примере мы создаем сокет для подключения к серверу по заданному адресу и порту. Затем мы читаем содержимое файла, имя файла и его размер, и отправляем их на сервер через сокет. После отправки закрываем все ресурсы.
Обратите внимание, что для успешной работы программы, на сервере также должен быть реализован соответствующий код для приема и сохранения файла.