2012-04-24 2 views
0

Я хочу скопировать некоторые выбранные файлы в папку назначения с помощью ядра java. Я не могу использовать JDK 7. Я использую JDK 1.6. Копирование всего источника Папка в папку назначения неприемлема.Скопируйте выбранные файлы в папку

Пример:

Папка Т содержит й количество .gif файлов. Я должен скопировать (не двигаться) у (из й) чисел .gif файлов изображений в отдельную папку, скажем, К.

Я не могу скопировать все Т (т.е. х файлы) К.

Как я могу это сделать в JDK 1.6?

ответ

2

Используйте FileUtils.copyDirectory() от commons-io, указав свой источник, пункт назначения и фильтр, который указывает только на копирование .gif файлов. Документация метода включает пример копирования всех файлов .txt из одного каталога в другой, поэтому он получает около 95% пути от него.

+0

@ Ryan ......... спасибо большое Ryan.It работал красиво. –

-2

@ Ryan ответ - один. Однако я этого не пробовал.

Однако вы можете сделать следующее: Напишите способ, который принимает два пути к каталогам, а затем используйте расширение для фильтрации файлов, которые нужно скопировать. Что-то вроде этого, возможно:

//get all the select files in that folder 
File directory[] = source.listFiles(); 

//iterate through the files 
for (File fileName : directory) 
{ 
    //check here: if the extension doesn't match what you want, continue the loop if it doesn't match 

    File newFile = new File(destination + fileName); 
} 

Я предполагаю, что это должно сделать работу справедливо.

+1

Это решение имеет недостаток, заключающийся в невозможности обработки вложенных каталогов и неправильного использования. Добавление 'File' в' destination' не будет делать то, что вы хотите. Даже если это так, это неправильный путь для создания путей к файлам. –

+0

Я не считал вложенные каталоги. Добавление файла довольно легко в зависимости от способа передачи пути к методу пути. – olatunjee

+0

"в зависимости от способа передачи пути к методу" <- именно то, от чего вы не хотите зависеть. –

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