IO流---字节流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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流---字节流的主要内容,如果未能解决你的问题,请参考以下文章

Java IO 字节流与字符流

IO流-字节流

Java IO流-字节流

Java字节流和字符流,是时候总结一下IO流了

Java IO 字节流与字符流

IO流24 - 字节流 - 字节流的四种复制文件方式对比