/*
* 案例 1-3: 结合InputStream 和 OutputStream 进行文件内容拷贝
* 目标: 掌握使用流来拷贝文件的方法
*/
import java.io.*;
public class CopyFile {
public boolean copyFile(String src, String des){
File srcFile, desFile;
srcFile = new File(src);
desFile = new File(des);
FileInputStream fis = null;
FileOutputStream fos = null;
try{
desFile.createNewFile();
fis = new FileInputStream(srcFile);
fos = new FileOutputStream(desFile);
int bytesRead;
byte[] buf = new byte[4 * 1024]; //4K buffer
while((bytesRead = fis.read(buf)) != -1){
fos.write(buf, 0, bytesRead);
}
fos.flush();
fos.close();
fis.close();
}catch(IOException e)
{
System.out.println(e);
return false;
}
return true;
}
public static void main(String[] args) {
CopyFile cf = new CopyFile();
String src = args[0];
String des = args[1];
if(cf.copyFile(src, des)){
System.out.println("拷贝成功!");
}else
{
System.out.println("拷贝失败!");
}
}
/*
* 这个例子结合了 InputStream 和 OutputStream 的用法, 通过一个 InputStream (FileInputStream)
* 从一个文件中读出文件内容,然后将它作为 OutputStram (FileOutputStream) 的输出, 写入另一个
* 文件, 这样就实现了文件的拷贝. 如果需要实现文件的剪切 (Cut), 只需要将源文件和目标文件的文件名
* 指定为一样,并且在拷贝成功后在源文件对象上调用 File 类的delete() 方法将它删除就可以了.
*/
}