利用java实现文件的复制
直接上代码
1,复制一个txt文本
package a002;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import a001.deleteDemo;
/*
* 复制文本
*
* 数据源:从哪里来
* a.txt -- 读取数据
* 目的地:
* b.txt
* */
public class Copydata {
public static void main(String[] args) throws IOException{
FileInputStream fis=new FileInputStream("h:\\d.txt");//封装数据源对象
FileOutputStream fos= new FileOutputStream("h:\\e.txt");//封装目的地
int by=0;
while((by=fis.read())!=-1){
fos.write(by);
}
//释放资源的时候先关闭谁都可以
fis.close();
fos.close();
}
}
package a002;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyJPGDemo {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("h:\\a.png");
FileOutputStream fos=new FileOutputStream("h:\\b.png");
byte[] bys=new byte[1024];
int len=0;
while((len=fis.read(bys))!=-1){
fos.write(bys,0,len);//len为实际读取的数据的长度 ,小于等于之前的1024,如果读取数据的长度(len)为-1.说明已经读取完了所有数据
}
fis.close();
fos.close();
}
}
可以从上面的代码中看出来,其实不管复制什么文件,都是先封装文件的输入流和输出流,在进行读写操作。只要知道了这个原理的基本步骤对用后面用到的buffer就很好理解了。
初学者,对此理解较为片面,如果有问题望大家指导。谢谢