2つの方法:
1.ディレクトリの下にすべてのファイルとフォルダーをコピーします
2。ファイルディレクトリの下のすべてのテキストファイルを同じファイルにマージします
コードコピーは次のとおりです。
パッケージcom.firewolf.test;
java.io.fileをインポートします。
java.io.fileinputStreamをインポートします。
java.io.fileoutputStreamをインポートします。
java.io.ioexceptionをインポートします。
Public Class FileReaderutil {
public static void main(string [] args){
試す {
// mergefile(new File( "c:/documents and settings/liuxing0/desktop/new Folder/script")、new file( "d:/all.sql"));
copyfiles(new file( "g:/ledistuttre/notes")、new file( "g:/test"));
} catch(ioException e){
e.printstacktrace();
}
}
/**
*ファイルディレクトリ内のすべてのファイルをコピーします。
* @param Sourceの元のファイルディレクトリ
* @param Despath Desitionファイルディレクトリ
*/
private static void copyfiles(ファイルsourceFile、file desfile)throws 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);
}それ以外{
ファイルdir = new file(desfile.getPath()+"/"+sourceFile.getName());
if(!dir.exists())
dir.mkdir();
string [] names = sourcefile.list();
for(int i = 0; i <names.length; i ++){
copyfiles(new file(sourcefile.getPath()+"/"+names [i])、dir);
}
}
}
/**
*ファイルディレクトリの下のすべてのファイルを1つのファイルに一意に結合する方法(主に多くのテキストファイルをマージするために使用されます)
* @param sourcefile
* @param decfile
* @戻る
* @throws ioexception
*/
private static file mergefile(ファイルsourcefile、file decfile)はioexceptionをスローします{
string [] fileList = sourceFile.list();
for(string string:filelist){
file file = new file(sourcefile.getPath()+"/"+string);
if(!file.isdirectory()){
fileInputStream fis = new fileInputStream(file);
fileoutputStream fos = new fileoutputStream(decfile、true);
byte [] buffer = new byte [1024];
int len = 0;
while((len = fis.read(buffer))!= -1)
fos.write(buffer、0、len);
}
それ以外 {
decfile = mergefile(file、decfile);
}
}
decfileを返します。
}
}