I/O————字符流和流的关闭

Reader字符输入流 
Writer字符输出流 
用于字符的形式读取和写入数据

FileReader与FileWriter分别是Reader与Writer的子类

public class CharScream {

    public static void main(String[] args) {
File file
= new File("D:\\lolfilder\\lol.exe\\lol.txt"); File file1 = new File("D:\\lolfilder\\lol.exe\\lol2.txt"); try(FileReader fReader = new FileReader(file); FileWriter fWriter = new FileWriter(file1)) { //存放字符输入流的数组 char[] chara= new char[(int) file.length()]; String data="这是字符输出流结果"; //存放字符输出流的数组 char[] chara1 = data.toCharArray(); fReader.read(chara); fWriter.write(chara1); for(char temp:chara) { System.out.println(temp); } } catch (Exception e) { e.printStackTrace(); } }

关于流的关闭

所有的流,无论是输入流还是输出流,使用完毕之后,都应该关闭。 如果不关闭,会产生对资源占用的浪费。 当量比较大的时候,会影响到业务的正常开展。

一、在try中关闭,不推荐使用,因为当文件不存在时,try中的代码不会被执行

二、在finally中关闭

  这是标准的关闭流的方式
    1. 首先把流的引用声明在try的外面,如果声明在try里面,其作用域无法抵达finally.
    2. 在finally关闭之前,要先判断该引用是否为空
    3. 关闭的时候,需要再一次进行try catch处理

三、使用try(),在括号中定义流,try,catch或者finally结束的时候,会自动关闭。jdk7开始支持。

猜你喜欢

转载自www.cnblogs.com/yeyangtao/p/10807711.html