文件的复制,两种方法:
NO.1:
使用InputSream+OutputStream.....
package my;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class MyFileUtils
{
public static void copyFile(File srcFile,File dstFile) throws Exception
{
InputStream inputStream=null;
OutputStream outputStream=null;
try {
inputStream=new FileInputStream(srcFile);
outputStream=new FileOutputStream(dstFile);
byte[] buf=new byte[8192]; //每次最多读取8kb
while(true)
{
int n=inputStream.read(buf); //从源文件读取数据
if(n<=0)break;//读完
outputStream.write(buf, 0, n); //写入到目标文件
}
}
finally {
//出异常时,确保所有的文件句柄被关闭
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package my;
import java.io.File;
public class Test {
public static void main(String[] args)
{
//注:Win10下不要在根目录下操作
//源文件
File srcFile=new File("D:\\AF_java/Notepad (十六进制插件).rar");
//目标文件
File dstFile=new File("F:\\test/Notepad.rar");
try {
MyFileUtils.copyFile(srcFile, dstFile);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("复制完成");
}
}
NO.2:
import org.apache.commons.io下的FileUtils(a,b);
package wam;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class Test03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
File src=new File("F:\\123.txt"); //需要复制的文件
File dsc=new File("F:\\abc.txt"); //目标文件
try {
FileUtils.copyFile(src, dsc); //异常处理
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileUtils.deleteQuietly(dsc); //删除文件
}
}