|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.02.2018, 22:41 | #1 |
Новичок
Джуниор
Регистрация: 17.02.2018
Сообщений: 2
|
Написать на java программу, которая находит все текстовые файлы, отсортировать их по имени и склеить содержимое в один текстовый файл.
Добрый день,решаю задачу :
Имеется корневая папка. В этой папке могут находиться текстовые файлы, а также другие папки. В других папках также могут находится текстовые файлы и папки (уровень вложенности может оказаться любым). Написать на java программу, которая находит все текстовые файлы, отсортировать их по имени и склеить содержимое в один текстовый файл. Написал класс для поиска текстовых файлов iimport java.io.*; import java.util.*; public class Main1 { private static ArrayList<File> listWithFileNames = new ArrayList<>(); public static int content; public static void main(String[] args) throws IOException { getListFiles("C:\\backet"); for (File fil : listWithFileNames) { String res = fil.getName(); if(res.contains(".txt")) { try(FileReader reader = new FileReader(fil)) { // читаем посимвольно while((content=reader.read())!=-1){ //System.out.print((char)content); } } catch(IOException ex){ System.out.println(ex.getMessage()) ; } // System.out.println(fil.getName()); } } //Записываем в файл try(FileWriter writer = new FileWriter("C:\\backet\\global.txt" , false)) { writer.write((char)content); // запись по символам writer.append('\n'); writer.append('E'); writer.flush(); writer.close(); System.out.println("Запись прошла успешно"); } catch(IOException ex){ System.out.println(ex.getMessage()) ; } } public static void getListFiles(String str) { File f = new File(str); for (File s : f.listFiles()) { if (s.isFile()) { listWithFileNames.add(s); } else if (s.isDirectory()) { getListFiles(s.getAbsolutePath()); } } } } Не работает запись в файл,ни как не пойму почему,содержимое файлов всех выводит правильно И не понял как отсортировать ArrayList<File> listWithFileNames И дальше завис,прошу помощи,подскажите пожалуйста как можно реализовать Спасибо))) |
18.02.2018, 04:42 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Что приказываете записать - то и пишет: три символа
|
18.02.2018, 12:05 | #3 |
Новичок
Джуниор
Регистрация: 17.02.2018
Сообщений: 2
|
Подскажите пожалуйста то есть мне нужно передать вот так?
writer.append((char)content); |
18.02.2018, 15:33 | #4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Вы ведь сначала читаете все исходные файлы, потом открываете выходной и один раз записываете в него самый последний content
А надо открыть файл в самом начале и писать content по мере чтения |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Файлы: В файле f записаны целые числа. Написать программу, которая в файл g записывает четные числа, а файл h - нечетны | Гарри | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.06.2015 00:26 |
написать программу, которая находит 20 целых решений уравнения x^2+y^2=z^2 (x,y,z<>0) | katya111 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 18.05.2011 15:43 |
Написать программу которая создаэт текстовый файл c данними | SashOK1991 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 06.06.2010 15:45 |
Написать программу которая создаэт текстовый файл даных. | SashOK1991 | Помощь студентам | 1 | 02.06.2010 18:45 |
Написать программу которая создаэт текстовый файл даных. | SashOK1991 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 31.05.2010 23:48 |