IO字符流写入和读取
Java流用来处理设备之间的数据传输,java通过流的方式对数据进行操作,java永远操作留的对象都在IO包中,流按操作数据分为两种:字节流和字符流,流按流向分为输入流和输出流。
IO流的四个基类。字节流有两个抽象基类:InputStream,OutputStream。字符流的两个抽象基类:Reader,Writer。
来个简单例子:
File异常处理方式:
由于创建FileWriter对象,调用write()方法,调用close()方法都会抛异常,所以需要进行异常处理,一般不用throw抛出异常,而应该用try()…..catch()进行捕获。而如果将close()方法和其他语句放在一起,如果前面出现异常,那么文件流将不能正常关闭。所以将close()方法放入finally语句中。并且需要判断创建的FileWriter对象是否为空,代码如下。
数据续写:
创建FileWriter对象时,传入一个true参数,代表不覆盖已有的文件,并在已有的文件的末尾处进行数据续写。
文件的读取:
第一种读取方式:read()方法读取
创建FileReader对象,调用read()方法,因为read()方法每次只读取一个字符,要读取字符串需要用while循环读取,判断条件是当读取到-1时停止读取。调用close()关闭读取流。需要处理异常。
第二种读取方式:read(char[]cbuf)方法读取