文件读写的常用的两种方式
第一种:
1 File d=new File(...);//被读取数据的文件 2 File x=new File(...);//要写入数据的文件 3 FileInputStream fis=new FileInputStream(d);//读文件的字节流 4 FileOutputStream fos=new FileOutputStream(x);//写文件的字节流 5 //定义一个缓存区数组 6 byte[] buf=new byte[1024]; 7 int len=0; 8 while(len=fis.read(buf))!=-1){ 9 fos.write(buf,0,len); 10 } 11 fos.close(); 12 fis.close(); 13 }
其中:read(byte[] b)方法的作用是从此输入流中将最多b.length个字节的数据读入一个byte数组中。
write(byte[] b,int off, int len)方法的作用是将指定byte数组中从偏移量off开始的len个字节写入此文件输出流
这种方式比较常用。
第二种:
1 File d=new File(...);//被读取数据的文件 2 File x=new File(...);//要写入数据的文件 3 FileInputStream fis=new FileInputStream(d);//读文件的字节流 4 FileOutputStream fos=new FileOutputStream(x);//写文件的字节流 5 6 BufferedInputStream bufis=new BufferedInputStream(fis); 7 BufferedInputStream bufos=new BufferedOutputStream(fos); 8 int ch=0; 9 while((ch=bufis.read())!=-1){ 10 bufos.write(ch); 11 } 12 bufos.close(); 13 bufis.close(); 14 }
BufferedInputStream和BufferedOutputStream创建时,会创建一个内部缓冲区数组。