2015-09-01 4 views
-4

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

Это то, что я хочу сделать:

До:

Directory from 
    folder a 
     folder b 
       something.txt 
       folder c 
        somethingelse.txt 
    folder c 
     anotherthing.txt 

После:

Directory to 
    something.txt 
    somethingelse.txt 
    anotherthing.txt 

Я предпочел бы не использовать никаких внешних библиотек.

+1

Рассмотрите возможность использования [Apache Commons FileUtils] (https://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html). –

+0

@Hovercraft Full Of Eels Это небольшой проект, поэтому я не хочу добавлять огромную библиотеку – eukaryote

+1

Ahahaha. Один компонент Commons не является «огромной библиотекой». «Маленькие» Java-проекты обычно захватывают сто или больше. – chrylis

ответ

3

С Java 7 появился новый API для файловой системы. Вы можете использовать FileWalker , чтобы собрать ссылку на все ФАЙЛЫ (не каталоги), а затем просто скопировать их с использованием того же API. С Path каждого файла вы сможете получить имя файла без сохранения остальной части пути. Символично getFileName() из файла.

Смежные вопросы