Dua metode:
1. Salin semua file dan folder di bawah direktori
2. Gabungkan semua file teks di bawah direktori file ke dalam file yang sama
Salinan kode adalah sebagai berikut:
paket com.firewolf.test;
impor java.io.file;
impor java.io.fileInputStream;
impor java.io.fileoutputStream;
impor java.io.ioException;
kelas publik filereaderutil {
public static void main (string [] args) {
mencoba {
// mergefile (file baru ("c:/dokumen dan pengaturan/liuxing0/desktop/folder baru/skrip"), file baru ("d: /all.sql"));
copyFiles (file baru ("g:/bahan belajar/catatan"), file baru ("g:/test"));
} catch (ioException e) {
e.printstacktrace ();
}
}
/**
* Salin semua file di direktori file.
* @param sourcePath direktori file asli
* Direktori File Desition @param Desition
*/
private static void copyFiles (File SourceFile, File Desfile) melempar ioException {
if (sourceFile.isfile ()) {
File file = file baru (desfile.getPath ()+"/"+sourceFile.getName ());
FileInputStream fis = new FileInputStream (SourceFile);
FileOutputStream fos = baru fileOutputStream (file);
int len = 0;
byte [] buf = byte baru [1024];
while ((len = fis.read (buf))! = -1)
fos.write (buf, 0, len);
}kalau tidak{
File dir = file baru (desfile.getPath ()+"/"+sourceFile.getName ());
if (! dir.exists ())
dir.mkdir ();
String [] name = sourceFile.list ();
untuk (int i = 0; i <name.length; i ++) {
copyFiles (file baru (sourceFile.getPath ()+"/"+nama [i]), dir);
}
}
}
/**
* Metode untuk secara unik menggabungkan semua file di bawah direktori file ke dalam satu file (terutama digunakan untuk menggabungkan banyak file teks bersama -sama)
* @param SourceFile
* @param decfile
* @kembali
* @Throws IoException
*/
file private static mergefile (file sourceFile, file decfile) melempar ioException {
String [] fileList = sourceFile.list ();
untuk (string string: fileList) {
File file = file baru (sourceFile.getPath ()+"/"+string);
if (! File.isDirectory ()) {
FileInputStream fis = new fileInputStream (file);
FileOutputStream fos = baru fileOutputStream (decfile, true);
byte [] buffer = byte baru [1024];
int len = 0;
while ((len = fis.read (buffer))! = -1)
fos.write (buffer, 0, len);
}
kalau tidak {
decfile = mergefile (file, decfile);
}
}
Kembalikan Decfile;
}
}