1ое задание
unknown
java
2 years ago
2.6 kB
19
Indexable
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.StandardCharsets; public class BufferTask { public static void RefactorFile() throws IOException { String inputFileName = "File.txt"; String outputFileName = "newFile.txt"; // Открытие входного и выходного файловых каналов try (FileChannel inputChannel = new FileInputStream(inputFileName).getChannel(); FileChannel outputChannel = new FileOutputStream(outputFileName).getChannel()) { // Создание буферов для чтения и записи данных ByteBuffer inputBuffer = ByteBuffer.allocate(1024); ByteBuffer outputBuffer = ByteBuffer.allocate(1024); // Чтение данных из входного файла и запись их в выходной файл while (inputChannel.read(inputBuffer) != -1) { inputBuffer.flip(); // Подготовка буфера для чтения // Модификация данных: удаление цифр StringBuilder modifiedData = new StringBuilder(); while (inputBuffer.hasRemaining()) { byte b = inputBuffer.get(); if (Character.isLetter(b) || b == ' ') { modifiedData.append((char) b); } } // Запись модифицированных данных в выходной буфер outputBuffer.clear(); outputBuffer.put(modifiedData.toString().getBytes(StandardCharsets.UTF_8)); outputBuffer.flip(); // Подготовка буфера для записи // Запись данных из выходного буфера в выходной файл while (outputBuffer.hasRemaining()) { outputChannel.write(outputBuffer); } inputBuffer.clear(); // Подготовка буфера для следующей порции данных } } } public static void main(String[] args) { try { RefactorFile(); System.out.println("Файл успешно преобразован."); } catch (IOException e) { e.printStackTrace(); } } }
Editor is loading...