黑马程序员_IO流中FileInputStream类和FileOutputStream类

来源:互联网 发布:二叉树层序遍历算法 编辑:程序博客网 时间:2024/05/23 01:13

------- android培训、java培训、期待与您交流! ----------

FileInputStream类和FileOutputStream类分别以字节为单位对文件进行读写操作,而且与字符流之间的区别是没有缓冲区,也就没有flush方法(OutputStream里的flush方法不执行任何操作)。字符流之所以有缓冲区,是因为一个汉字占2个字节。另外,FileInputStream类中特有的available方法可以取得当前位置到文件末尾共有多少个字节,可以由此创建一个与之大小相同的缓冲数组,进行一次性读入。

下面进行一个练习,把D盘下的一张图片进行拷贝:

import java.io.*;public class PictureCopy {public static void main(String[] args) {FileInputStream fis = null;FileOutputStream fos = null;try {fis = new FileInputStream("d:\\1.png");fos = new FileOutputStream("d:\\1_copy.png");byte[] buf = new byte[fis.available()];fis.read(buf);fos.write(buf);} catch(IOException e) {e.printStackTrace();} finally {if(fis != null)try {fis.close();} catch(IOException e) {System.out.println("源文件关闭失败");}if(fos != null)try {fos.close();} catch(IOException e) {System.out.println("副本文件关闭失败");}}}}


0 0
原创粉丝点击