Пример программы на Java Написать программу для форматирования текстовых файлов в папке.

Итак -вот такое у нас задание (см. основную тему) =

Написать программу для форматирования текстовых файлов в папке.
Форматирование файла заключается в "обрезании" строк до указанной длинны.
Для каждого файла запускается отдельный поток форматирования.

Приступим к решению ))

да - для тех кто не читал - посмотрите как поздороваться с миром на Ява))

Для начала напомню, что для "графики" мы будем использовать Swing

Внешний вид

Чтобы отдавать программе команды обычно используются кнопки. поэтому - выясним как добавить кнопку на форму Свинг (+ написать какой-нибудь текст)

Заставим программу выполнять действия при нажатии на кнопку.

После того ,как мы разобрались с предыдущим пунктом было бы неплохо дописать программу так, чтобы при нажатии на кнопку что-нибудь происходило.
Рассмотрим код , позволяющий выполнять действия при нажатии на кнопку здесь
Если мы научились навешивать код ,на событие нажатии кнопки, то стоит в соответствии у условием задачи было бы неплохо при нажатии на кнопку вывести диалог, позволяющий выбрать папку - так как нам надо будет форматировать файлы в совершенно определённой папке - для чего пишем код наподобие этого
Причём как видно в примере , доступном, по последней указанной ссылке - в случае получения пути к папке через диалог мы создаём класс-обработчик - DoIt - и ему в конструктор передаём путь к папке.

Все остальные действия программы будут далее производится при исполнении кода класса DoIt

Далее - получаем список файлов из указанной директории (+ пример простого фильтра).

После получения указанных файлов, нам надо будет реализовать функционал чтения и записи в файл - смотрите методы класса DoIt - они достаточно подробно прокомментированы.

Но после того как мы научимся обрабатывать файлы в "линейном" режиме стоит изучить последний аспект поставленной задачи - а именно - запуск отдельных потоков для каждого файла.

Чтобы добавить отдельные потоки и в наше решение я делаю методы .readFileData() и .writefiledData статическими - чтобы было удобно обратиться к ним через run() метод путь к файлу передаю способом, указанным выше.

Всё - теперь можно выложить исходный код задачи - я надеюсь, что это пример поможет вам значительно быстрее написать свои первые строки на Java.
Итак смотрим =

Вот что получилось в результате :))