问题描述
- java 在bufferedreader 为什么要先new一下要读入的文件
-
File file = new File(“PersonFile.txt”); String line; Person p; int numberPeople; try { BufferedReader fr = new BufferedReader(new FileReader(file)); while ((line = fr.readLine()) != null) { p = new Person(line); listOfPeople.add(p); } fr.close(); numberPeople = listOfPeople.size(); } catch (IOException e) { }
如果已经有了那个文件了,为什么还要new一下
解决方案
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
看api文旦 里面要接收一个字符流
解决方案二:
可以熟悉下装饰者模式,Java IO用了装饰者模式,BufferedReader是装饰者,需要传入被装饰的对象,BufferedReader本身不具备获取流的功能的,还是通过传入的流(比如FileInputStrean)来获取数据,然后加上了一个缓冲功能即装饰,这也是它的装饰功能
时间: 2025-01-26 13:20:07