Копирование файла из одной папки в другую независимо от ОС - PullRequest
0 голосов
/ 20 июля 2011

У меня есть буксирные папки, скажем, folder1 и folder2.

folder1 содержит файлы различного типа, такие как .txt, .doc, .png. Все файлы размещены только в этой папке.

Теперь, что я хочу сделать, это как только файл будет сохранен в папке 1, копия этого файла перейдет в подпапку в папке 2, и имя подпапки должно быть расширением этого файла. Т.е. если файл abc.txt сохранен в папке folder1, то папка txt должна быть создана внутри folder2 (если папка txt не существует), а файл abc.txt должен быть скопирован в эту подпапку. И если у нас есть файл xyz.doc, то создайте папку doc и сохраните ее внутри. Я хочу сделать это на Java. и это не должно зависеть от платформы, т.е. мы можем копировать в Window, Linux или Android.

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

Вы можете запустить поток, который часто проверяет наличие новых файлов в этой папке. В ветке есть список всех хэшей из файлов. Если файл отсутствует в списке, это новый файл. Затем вы можете скопировать файл в новое место. Вместо проверки имени файла вы можете проверить хеш.

0 голосов
/ 20 июля 2011

Можете ли вы подождать Java 7? WatchService идеально подходит для уведомления о новых File объектах.

Цитата из топа тех JavaDocs:

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

( Акцент от Oracle, смелость от меня.;)

0 голосов
/ 20 июля 2011

Вы можете достичь этого с помощью File.list() & File's Utils Common

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...