import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
public class test {
private ArrayList<String> filelist = new ArrayList<String>();
/**
* 通過遞歸得到某一路徑下所有的目錄
*
* @param filePath
* 文件路徑
* @return
*/
public ArrayList<String> getFilePaths(String filePath) {
File[] files = new File(filePath).listFiles();
if (null == files || files.length == 0) {
return filelist;
}
for (File file : files) {
if (!file.isDirectory()) {
filelist.add(file.getAbsolutePath());
continue;
}
getFilePaths(file.getAbsolutePath());
}
return filelist;
}
/**
* 將一個(gè)文件內(nèi)容,寫入另一個(gè)文件中
* @param filePath 源文件路徑 文件夾
* @param toFilePath 目標(biāo)文件路徑。
* @throws IOException 拋出IO異常
*/
public void getFileToFile(String filePath,String toFilePath) throws IOException{
File des = new File(toFilePath);
if (!des.exists()) { // 判斷是否存在,不存在就創(chuàng)建
des.createNewFile(); // 創(chuàng)建文件
}
ArrayList<String> filePathlist =this.getFilePaths(filePath);
if(filePathlist ==null && filePathlist.size()<=0) return; //如果文件夾下是空的,直接退出。
OutputStream output = null;
FileInputStream input = null;
output = new FileOutputStream(des);
for (int i = 0; i < filePathlist.size(); i++) {
input = new FileInputStream(filePathlist.get(i));
byte[] buffer = new byte[1024];
while (-1 != (input.read(buffer))) {
output.write(buffer);
}
String temp = "\r\n";
output.write(temp.getBytes());//換行
}
if (output != null) {
try {
if (input != null)
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}