1ое задание

 avatar
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...