package com.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
public class TestHtml {
/**
* 復制單個文件
* @param oldPath String 原文件路徑 如:c:/fqf.txt
* @param newPath String 復制后路徑 如:f:/fqf.txt
* @return boolean
*/
public void copyFile(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在時
InputStream inStream = new FileInputStream(oldPath); //讀入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字節數 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("復制單個文件操作出錯");
e.printStackTrace();
}
}
/**
* 復制整個文件夾內容
* @param oldPath String 原文件路徑 如:c:/fqf
* @param newPath String 復制后路徑 如:f:/fqf/ff
* @return boolean
*/
public void copyFolder(String oldPath, String newPath) {
try {
(new File(newPath)).mkdirs(); //如果文件夾不存在 則建立新文件夾
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夾
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch (Exception e) {
System.out.println("復制整個文件夾內容操作出錯");
e.printStackTrace();
}
}
public static void main(String[] args)throws Exception {
// //這是你的源文件,本身是存在的
// File beforefile = new File("C:/Users/Administrator/Desktop/Untitled-2.html");
//
// //這是你要保存之后的文件,是自定義的,本身不存在
// File afterfile = new File("C:/Users/Administrator/Desktop/jiekou0/Untitled-2.html");
//
// //定義文件輸入流,用來讀取beforefile文件
// FileInputStream fis = new FileInputStream(beforefile);
//
// //定義文件輸出流,用來把信息寫入afterfile文件中
// FileOutputStream fos = new FileOutputStream(afterfile);
//
// //文件緩存區
// byte[] b = new byte[1024];
// //將文件流信息讀取文件緩存區,如果讀取結果不為-1就代表文件沒有讀取完畢,反之已經讀取完畢
// while(fis.read(b)!=-1){
// //將緩存區中的內容寫到afterfile文件中
// fos.write(b);
// fos.flush();
// }
String oldPath="C:/Users/Administrator/Desktop/Untitled-2.html";
String newPath="C:/Users/Administrator/Desktop/jiekou0/Untitled-2.html";
TestHtml t=new TestHtml();
t.copyFile(oldPath, newPath);
}
}
引用自:http://zhidao.baidu.com/link?url=83SQQKvuLR1aiA_QPPLE7K_TfZKIAPKUqjFalts6AHVCvtXoKZmNayuwrMQKyTObQkrJUCZjwvpxuqBP1FtTYK
http://www.educity.cn/wenda/214981.html 這兩個