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流---字节流的主要内容,如果未能解决你的问题,请参考以下文章