Два в одном

  • 10
  • Недоступна
Считать с консоли 3 имени файла. Записать в первый файл содержимого второго файла, а потом дописать в первый файл содержимое третьего файла. Закрыть потоки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (69)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Дмитрий Войтенко20 уровень, Харьков
4 марта, 14:54
А есть возможность записи текста в первый файл с новой строки. У меня все в одну строку. Думал как бы сделать все красиво. Но не нашел способа.
Александр19 уровень, Казань
12 марта, 09:32
out.write("\r\n".getBytes());
Николай20 уровень
22 февраля, 20:11
Дам подсказку - можно открыть два потока на запись в 1 файл. Первый раз открываем с параметрами (name1, false) записали в него file2, закрыли поток. Создали новый поток на запись с параметрами (name1, true) так же записали в него но уже file3 и закрыли. Что это за параметры хорошо понятно из статьи: https://javarush.ru/groups/posts/2020-vvod-vihvod-v-java-klassih-fileinputstream-fileoutputstream-bufferedinputstream
Демин Андрей20 уровень
19 февраля, 14:35
пол часа мучал голову, никак не смог увидеть изменения в первом файле, плюнул и нажал проверку, и как вы думаете каков результат. почему так?
Николай20 уровень
22 февраля, 20:06
https://javarush.ru/groups/posts/2020-vvod-vihvod-v-java-klassih-fileinputstream-fileoutputstream-bufferedinputstream Здесь в общем то все должно быть полностью понятно. Но если вы не понимаете как решать или решили, но не поняли как, то остановитесь, вооружитесь справочными материалами и изучайте - так будет на порядок больше пользы, чем игра в угадайку.
Дмитрий27 уровень
24 декабря 2018, 14:08
Совет: открывайте потоки именно в том порядке, который указан в задании, т.е. сначала один на запись потом два на чтение. Валидатору оно небезразлично)
Демин Андрей20 уровень
19 февраля, 14:34
Я сначала открыл два на чтение и потом на запись, все ок
Михаил22 уровень
17 декабря 2018, 09:40
Если первый файл не пуст то флаг true решит дозаписать в конец. решил сделать так: int sizeF2 = file2.available(); int sizeF3 = file3.available(); byte [] bytes = new byte[ sizeF2 + sizeF3 ]; file2.read(bytes, 0, sizeF2); file3.read(bytes, sizeF2, sizeF3); file1.write(bytes);
Vitaly Khan35 уровень
7 декабря 2018, 03:34
очень простая задача. все очень примитивно: - 3 открытия потоков; - объявление двух массивов байт; - 2 чтения; - 2 записи; - 3 закрытия потоков. итого: 11 строк.
Pavlic Morozov (pashok09i)27 уровень, Екатеринбург
10 января, 16:20
с математикой у вас проблемы батенька
Vitaly Khan35 уровень
13 марта, 05:06
у меня ли? судя по количеству лайков к вашему комменту, у многих...
Roman24 уровень, Москва
3 ноября 2018, 08:52
Сделал через FileWriter/FileReader
unamez25 уровень, Минск
27 сентября 2018, 23:31
FileChannel c .transferTo валидатор не пропускает
Voffka22 уровень, Киев
25 января, 13:44
Да, увы. Таки нужно топором, через байтовые массивы ...
Georgy19 уровень, Минск
30 августа 2018, 12:35
Объясните пожалуйста почему при таком коде
firstFileOutputStream.write(bufferTwo, 0, countThird);
        firstFileOutputStream.close();
Валидатор пишет что поток записи в первый файл не закрыт. а вот так
firstFileOutputStream.write(bufferTwo);
        firstFileOutputStream.close();
Всё ок ?!
Dmitry Ivanov22 уровень, Москва
14 июня 2018, 17:10
В условии задачи 3-й пункт "Содержимое второго файла нужно переписать в первый файл." для большей ясности нужно переименовать в "Содержимое второго файла нужно дописать в первый файл.".
Gagarin28 уровень, Санкт-Петербург
4 августа 2018, 18:38
а в чём разница?
Dmitry Ivanov22 уровень, Москва
6 августа 2018, 15:29
file1: aaa file2: bbb Переписать 2-ой файл в 1-й: file1: bbb file2: bbb Дописать 2-ой файл в 1-й: file1: aaabbb file2: bbb
Gagarin28 уровень, Санкт-Петербург
6 августа 2018, 16:00
В условии используется слово "дописать" 1 раз, когда говорится про 3-й файл, т.ч. там всё верно. +4 пункт чётко говорит что уже должно находится в файле