Создание файла, содержимое которого является объединением копий содержимого f1 и f2 - PullRequest
0 голосов
/ 18 июня 2019

Как я могу изменить метод annale2013q3, чтобы преобразовать его в метод, который позволяет из 2 файлов f1 и f2 создать третий файл, содержимое которого является объединением копий содержимого f1 и f2 (в этом порядке)?

На данный момент у меня достаточно кода только для копирования одного файла в другой:

public class annale2013q3{

    public static void (File file,OutputStream os) throws {
        BufferInputStream bis = new BufferedInputStream(new FileInputStream(file));
        byte b ;
        do {
        b = bis.read( );
        if (b!= -1 ) os.write(b);
        }
        while (b!=-1);
        bis.close( );
    }   
}

1 Ответ

1 голос
/ 18 июня 2019

Вам необходимо передать коллекцию файлов методу и выполнить итерацию по ним. Вам также следует быть немного более осторожным при закрытии файлов, которые вы открываете в методе. Вы можете использовать синтаксис try-with-resource, чтобы обеспечить закрытие входных потоков.

    public static void concat(Collection<File> files, OutputStream os) throws IOException {
        for (File file : files) {
            try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {
                int b;
                while ((b = bis.read()) != -1) {
                    os.write(b);
                }
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...