首页 > 代码库 > IO流---字节流

IO流---字节流

基本操作与字符流的类相同

但它不仅可以操作字符,还可以操作其他媒体文件。如拷贝jpg文件,MP3等,字符流只能操作文本文件

两个顶层基类:

InputStream

OutputStream

 

字符流中使用的是字符数组char[],字节流中使用的字节数组byte[],参看write的参数来对比。

 

FileOutputStream fos=new FileOutputStream("a.txt");创建字节输出流对象,用于操作文件

fos.write("abcd".getBytes());写数据,只能写入字节或字节数组,不能直接写入字符串

fos.close();

可以不flush,直接写入到目的地中,不需要缓存的,因为是最小的单元,不需要编解码。

OutputStream类里的flush方法,什么操作都没有,FileOutputStream 就没有重写该方法。

 

//1,创建一个读取流对象。和指定文件关联。        FileInputStream fis = new FileInputStream("bytedemo.txt");                       读取方式一:        System.out.println(fis.available());        byte[] buf = new byte[fis.available()];                fis.read(buf);        System.out.println(new String(buf));        读取方式二:        //建议使用这种读取数据的方式        byte[] buf = new byte[1024];                int len = 0;                while((len=fis.read(buf))!=-1){            System.out.println(new String(buf,0,len));        }                //        int ch = 0;//        while((ch=fis.read())!=-1){//            System.out.println((char)ch);//        }                //一次读取一个字节。//        int ch = fis.read();        //        System.out.println(ch);                fis.close();

 

IO流---字节流