Два метода:
1. Скопируйте все файлы и папки в каталоге
2. Объедините все текстовые файлы в каталоге файла в один и тот же файл
Кода -копия выглядит следующим образом:
пакет com.firewolf.test;
Импорт java.io.file;
импортировать java.io.fileinputstream;
Импорт java.io.fileOutputStream;
импортировать java.io.ioexception;
открытый класс fileReaderutil {
public static void main (string [] args) {
пытаться {
// MergeFile (новый файл ("c:/documents and settings/liuxing0/desktop/new Polder/script"), новый файл ("d: /all.sql"));
CopyFiles (новый файл ("g:/Исследовательские материалы/примечания"), новый файл ("g:/test"));
} catch (ioException e) {
e.printstacktrace ();
}
}
/**
* Скопируйте все файлы в каталоге файлов.
* @param sourcepatath iserian File Directory
* @param despath desition каталог файлов файлов
*/
private static void copyfiles (файл sourcefile, файл desfile) бросает ioexception {
if (sourcefile.isfile ()) {
File file = new File (desfile.getPath ()+"/"+sourcefile.getName ());
FileInputStream fis = new FileInputStream (SourceFile);
FileOutputStream fos = new FileOutputStream (file);
int len = 0;
byte [] buf = new Byte [1024];
while ((len = fis.read (buf))! = -1)
fos.write (buf, 0, len);
}еще{
File dir = new File (desfile.getPath ()+"/"+sourcefile.getName ());
if (! dir.exists ())
dir.mkdir ();
String [] names = sourceFile.list ();
для (int i = 0; i <names.length; i ++) {
CopyFiles (новый файл (sourcefile.getPath ()+"/"+names [i]), dir);
}
}
}
/**
* Метод уникального объединения всех файлов в каталоге файлов в один файл (в основном используется для объединения многих текстовых файлов)
* @param sourcefile
* @param decfile
* @возвращаться
* @Throws ioException
*/
Частный статический файл MergeFile (файл SourceFile, файл decfile) бросает ioException {
String [] fileList = sourceFile.list ();
для (строка строки: filelist) {
File file = new File (sourceFile.getPath ()+"/"+String);
if (! file.isdirectory ()) {
FileInputStream fis = new FileInputStream (file);
FileOutputStream fos = new FileOutputStream (decfile, true);
Byte [] buffer = новый байт [1024];
int len = 0;
while ((len = fis.read (buffer))! = -1)
fos.write (буфер, 0, Лен);
}
еще {
decfile = mergefile (файл, decfile);
}
}
вернуть декфиль;
}
}