148_文件的拷贝
一、文件的拷贝
package edu.aeon.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** * [说明]:文件的拷贝 * @author aeon * */ public class CopyFile { public static void testCopyFile() throws IOException{ //源文件 目标文件 File srcFile=new File("b:/test/test.txt"); File destFile=new File("b:/test/testCopy.txt"); //读取写入流 InputStream inputStream =new FileInputStream(srcFile); OutputStream outputStream=new FileOutputStream(destFile); //建立1M的缓存数组 byte by[]=new byte[1024]; //实际读取文件的长度 int len=0; //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中 while(-1!=(len=inputStream.read(by))){ outputStream.write(by, 0, len); } //强制刷出 outputStream.flush(); //关闭流 outputStream.close(); inputStream.close(); } public static void testCopyFile(String src,String dest) throws IOException{ //源文件 目标文件 File srcFile=new File(src); File destFile=new File(dest); /*//读取写入流 InputStream inputStream =new FileInputStream(srcFile); OutputStream outputStream=new FileOutputStream(destFile); //建立1M的缓存数组 byte by[]=new byte[1024]; //实际读取文件的长度 int len=0; //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中 while(-1!=(len=inputStream.read(by))){ outputStream.write(by, 0, len); } //强制刷出 outputStream.flush(); //关闭流 outputStream.close(); inputStream.close();*/ testCopyFile(srcFile,destFile); } public static void testCopyFile(File srcFile,File destFile) throws IOException{ //读取写入流 InputStream inputStream =new FileInputStream(srcFile); OutputStream outputStream=new FileOutputStream(destFile); //建立1M的缓存数组 byte by[]=new byte[1024]; //实际读取文件的长度 int len=0; //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中 while(-1!=(len=inputStream.read(by))){ outputStream.write(by, 0, len); } //强制刷出 outputStream.flush(); //关闭流 outputStream.close(); inputStream.close(); } public static void main(String[] args) { String src="b:/test/test.txt"; String dest="b:/test/testCopy.txt"; try { //testCopyFile(); //testCopyFile(src, dest); testCopyFile(new File(src),new File(dest)); } catch (IOException e) { System.out.println("文件拷贝失败!"); e.printStackTrace(); } } }
此处大家可根据自己的需求将文件的拷贝写一个工具类、比如写个CopyFileUtils工具类。