java I/O流的熟练掌握是十分重要的。
在我的理解中,I/O流可以分为两种:字符流、字节流。字符流就是可以用来传输字符的流,比如传输txt文本,简单的说,只有能被电脑中的记事本直接打开并且你能看懂的文件,才能用字符流传输。字节流是全能的,什么文件都可以传输,不管是哪一种编码格式。
处理字符流的抽象了有Reader和Writer,处理字节流的抽象类有InputStream和OutputStream。抽象类的实现类很多,Reader常见的有BufferedReader,CharArrayReader,InputStreamReader。
BufferedReader的构造方法为:BufferedReader(Reader in){}
输出流Writer的实现类常见的有 BufferedWriter,CharArrayWriter,OutputStreamWriter。
BufferedWriter的构造方法为:BufferedWriter(Writer in){}
字节流是最常用的传输流,InputStream的子类有ByteArrayInputStream,FileInputStream,BufferedInputStream。
输出流OutputStream的作用,就是输出,子类有ByteArrayOutputStream,FileoutputStream,BufferedOutputStream。
Java封装了一个文件随机存取类——RandomAccessFile。RandomAccessFile实现了两个接口,DataInput和DataOutput,因此它同时拥有读和写两个功能,方便了我们的使用。使用时需要指定打开文件的模式,可以是“r”只读,“rw”读写等。
原文:https://www.cnblogs.com/sixgodbiao/p/9833167.html