博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类 BufferedReader
阅读量:6176 次
发布时间:2019-06-21

本文共 1546 字,大约阅读时间需要 5 分钟。

以前学习的时候也没有太在意,在项目中使用到了才发现呵呵

1.读取一个txt文件,方法很多种我使用了字符流来读取(为了方便)

  FileReader fr = new FileReader("f:\\TestJava.java");

   BufferedReader bf = new BufferedReader(fr);

//这里进行读取

int b;

   while((b=bf.read())!=-1){
    System.out.println(bf.readLine());
   }

发现每行的第一个字符都没有显示出来,原因呢:b=bf.read())!=-1  每次都会先读取一个字节出来,所以后面的bf.readLine());

读取的就是每行少一个字节

所以,应该使用

String valueString = null;

   while ((valueString=bf.readLine())!=null){
    System.out.println(valueString);
   }

public class BufferedReader extends
 

从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。

通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,

BufferedReader in = new BufferedReader(new FileReader("foo.in"));

将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。

通过用合适的 BufferedReader 替代每个 DataInputStream,可以对将 DataInputStream 用于文字输入的程序进行本地化。 

方法摘要:

  void close()  关闭该流病释放与之关联的所有资源。

  int read()   读取耽搁字符

  String readeLine() 读取一个文本行。

构造方法详细信息

 

public BufferedReader( in,int sz)
创建一个使用指定大小输入缓冲区的缓冲字符输入流。
参数:
in - 一个 Reader
sz - 输入缓冲区的大小
抛出:
- 如果 sz <= 0
public BufferedReader( in)
创建一个使用默认大小输入缓冲区的缓冲字符输入流。
参数:
in - 一个 Reader

方法详细信息

 

read

 

public int read()         throws

 

读取单个字符。
覆盖:
中的
返回:
作为一个整数(其范围从 0 到 65535 (
0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1
抛出:

- 如果发生 I/O 错误

 

readLine

public  readLine()                throws
读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
抛出:
- 如果发生 I/O 错误

 

转载于:https://www.cnblogs.com/xs-yqz/p/4554986.html

你可能感兴趣的文章
add_header X-Frame-Options "SAMEORIGIN";NGINX
查看>>
linux中的计划任务
查看>>
Android style报错
查看>>
Lintcode130 Heapify solution 题解
查看>>
【Map】Map、HashMap
查看>>
解决纯数字字符串在js方法参数中不稳定或被截取的问题
查看>>
如何在VMware安装Windows系统
查看>>
阶段性理解phantomjs/selenium/casperjs
查看>>
Java中高级开发工程师是什么技术水平(附28套Java进阶+高级视频教程)
查看>>
sudo命令
查看>>
第十九章 文本处理流编辑器:awk编程
查看>>
Xtrabackup+Rsync 备份数据库并同步到远端备份机
查看>>
activiti实战读书笔记——第九章 多实例
查看>>
php返回相对时间(如:20分钟前,3天前)的方法
查看>>
WilliamChart各种图表效果实现大全《IT蓝豹》
查看>>
shell脚本——linux主机监控
查看>>
eclipse配置jsp页面模板
查看>>
基于高德地图写的不同功能的地图应用
查看>>
DHCP服务器配置
查看>>
快速瓶颈识别
查看>>