Проход по дереву файлов

  • 28
  • Недоступна
1. На вход метода main подаются два параметра. Первый - path - путь к директории, второй - resultFileAbsolutePath - имя (полный путь) существующего файла, который будет содержать результат. 2. Переименовать resultFileAbsolutePath в 'allFilesContent.txt' (используй метод FileUtils.renameFile, и, если понадобится, FileUtils.isExist).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (434)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгения 22 уровень, Минск
позавчера, 17:28
Битва с валидатором не на жизнь а насмерть))) я так до конца и разобралась, что он хотел)))
Алексей Петрик 22 уровень, Комсомольск-на-Амуре
позавчера, 07:35
Для хранения нужных файлов который <= 50, можно использовать TreeMap, автоматом отсортирует так как нужно
mbesurich Android Developer в Й1
26 февраля, 09:13
Расскажите, пожалуйста, как у вас получается решать такие задачи, если в лекциях до этого не раскрывалась тема SimpleFileVisitor? Как вы до него догадались? Гуглили или подсмотрели правильное решение?
Anonymous #2491313 27 уровень
23 февраля, 18:51
Валидатор такой валидатор. Среднее количество попыток 7.9 ).
Anonymous #2489173 23 уровень
21 февраля, 05:41
11 попыток, потому что сортировал файлы по убыванию %)
Алексей 25 уровень, Зима
18 февраля, 15:11
Коллеги! Подскажите пожалуйста алгоритм, как вы отсортировали файлы и выполнили требование пункта: 3.1. Отсортировать их по имени файла в возрастающем порядке, путь не учитывать при сортировке.
Алексей 25 уровень, Зима
19 февраля, 02:05
Сам и отвечу. Написал компоратор для сортировки
tremb 32 уровень, Москва
17 февраля, 13:38
6614 Умудрился сделать 8 попыток :) " Все файлы имеют расширение txt." можно не проверять
tbcarus 33 уровень, Москва
13 февраля, 08:24
Проверка прошла со второго раза. В первый раз сделал слишком много проверок для переименования файла: проверял на несуществование выходного файла перед копированием; если он существовал, то удалял, после чего копировал. Но этого всего не нужно. Сделал через очередь и Map<String, File>, делать через Map, конечно, очевидная ошибка, но валидатор пропускает - если во вложенных папках файлы с одинаковым названием, то в map они просто заменяются, что неправильно. 1. Сначала пробежал по всем папкам и подпапкам в цикле while (!stack.isEmpty()), если файл - это дирректория, то в очередь её, если файл <= 50 Б (Files.size(Path), то в map его. 2. Сортировка листа ключей 3. Чтение через Files.readAllBytes. Запись в файл, запись fout.write('\n'); 4. Все пункты обёрнуты в try с ресурсами FileOutputStream.
Дмитрий Чесноков 31 уровень, Санкт-Петербург
4 февраля, 12:05
Не проходило по 1, 2 и 4 пунктам из-за того, что вместо
File newFileName = new File(file.getParent() + "/" + "allFilesContent.txt");
указал
File newFileName = new File(file.getParent(), "allFilesContent.txt");
. Хотя данный вариант также правильный. Так как начал решение со второй задачи, то алгоритм прохода по директориям взял от туда (использовал очередь). Файлы нужного размера записывал в список, сортировка с помощью компаратора. Для записи и чтения использовал FileWriter и FileReader соответственно.
Сергей 23 уровень, Мурманск
2 февраля, 06:48
Для тех кто решает с помощью Files.walkFileTree() и у кого не проходит условие №2 и №4 - Files.walkFileTree() надо обернуть в try-with-resours потока на запись