string-java 在bufferedreader 为什么要先new一下要读入的文件

问题描述

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

string-java 在bufferedreader 为什么要先new一下要读入的文件的相关文章

Java中BufferedReader与BufferedWriter类的使用示例_java

BufferedReaderBufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添加一些缓冲功能. 创建BufferReader时,我们会通过它的构造函数指定某个Reader为参数.BufferReader会将该Reader中的数据分批读取,每次读取一部分到缓冲中:操作完缓冲中的这部分数据之后,再从Reader中读取下一部分的数据. 为什么需要缓冲呢?原因很简单,效率问题!缓冲中的数据实际上是保存在内存中,而原始数据可能是

Java BufferedWriter BufferedReader 源码分析_java

一:BufferedWriter  1.类功能简介:         BufferedWriter.缓存字符输出流.他的功能是为传入的底层字符输出流提供缓存功能.同样当使用底层字符输出流向目的地中写入字符或者字符数组时.每写入一次就要打开一次到目的地的连接.这样频繁的访问不断效率底下.也有可能会对存储介质造成一定的破坏.比如当我们向磁盘中不断的写入字节时.夸张一点.将一个非常大单位是G的字节数据写入到磁盘的指定文件中的.没写入一个字节就要打开一次到这个磁盘的通道.这个结果无疑是恐怖的.而当我们使

java 通过bufferedReader和bufferedWriter 拷贝文件

/** * @time 2014-8-15 下午05:00:58 * @author new * @function 通过bufferedReader和bufferedWriter 拷贝文件 * */ package com.neusoft.copyfile; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import ja

android开发-Log.d() cannnot resolve method 'd(java,lang,String java,lang,String )

问题描述 Log.d() cannnot resolve method 'd(java,lang,String java,lang,String ) android request network Log.d() cannnot resolve method 'd(java,lang,String java,lang,String )//printf message error

请问:java代码通过io流怎么读取MySQL数据库生成jsp文件?谢谢!

问题描述 请问:java代码通过io流怎么读取MySQL数据库生成jsp文件?谢谢! java代码通过io流怎么读取MySQL数据库生成jsp文件 解决方案 IO读取数据库?!你确定? 最次也得是jdbc吧?要有大神实现我也涨涨姿势.. 或者jdbc读到内存再写成文件,再用IO读到内存写成jsp? 解决方案二: io流读取文件数据,数据库都是sql语句获取的,你这问法不懂, 解决方案三: 回复a877536298: <% String url = "jdbc:mysql://localho

输入三个同学的c语言成绩与java成绩,并将成绩保存到一个“chengji.txt”的文件中.

问题描述 输入三个同学的c语言成绩与java成绩,并将成绩保存到一个"chengji.txt"的文件中. 编写一个程序,要求从DOS控制台以提问对话的形式,输入三个同学的c语言成绩与java成绩,并将成绩保存到一个"chengji.txt"的文件中. 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore: 创建一个TestChengji类,在main主方法中分别创建三个对象数组: Student []stu=new Stud

java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下

问题描述 java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下 PrintWriter out = response.getWriter(); response.setContentType("text/html"); // 图片上传路径 String uploadPath = request.getSession().getServletContext().getRealPath("/") + "upload/i

导入-Java从excel读取数据时,能够自己选择excel文件,不用在代码中将文件目录写死!

问题描述 Java从excel读取数据时,能够自己选择excel文件,不用在代码中将文件目录写死! 项目是进行单机版和网络版的数据对比,需要将单机版导出来的数据(excel表格,固定格式)导入网络版进行对比,网络版在导入数据时能提示选择导入的excel文件,不用在Java代码中将要读取数据的excel表格的目录写死.谢谢您的帮助! 解决方案 JAVA读取EXCEL用的比较多的是POI类库,参考Java对Excel(0307)进行上传.解析.验证.入库,或者你搜索一下java poi,有很多文章的

xml dtd-目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作。

问题描述 目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作. XML SPY和相关的环境 实验内容自己设计一个小型系统,要求数据存在XML文件中.使用java或C#或JSP或ASP等完成对xml文件的增删改操作.要求有用户操作的界面. (如通讯录管理系统.日志管理系统.班级管理系统等)实验步骤 使用dtd或schema完成所要设计系统的数据设计,并生成相应的xml存储文档.使用高级语言编写系统代码,完成对xml文档的操作 解决方案 有做好的例子吗?能发给我一份吗?谢谢谢谢.