开发者社区> 问答> 正文

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一下

展开
收起
蛮大人123 2016-03-23 16:30:41 2106 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    可以熟悉下装饰者模式,Java IO用了装饰者模式,BufferedReader是装饰者,需要传入被装饰的对象,BufferedReader本身不具备获取流的功能的,还是通过传入的流(比如FileInputStrean)来获取数据,然后加上了一个缓冲功能即装饰,这也是它的装饰功能.
    BufferedReader in= new BufferedReader(new FileReader("foo.in"));

    2019-07-17 19:11:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载