Reader

  FileReader

  BufferedReader

 package file;

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays; public class Demo7 {
public static void main(String[] args) throws IOException {
readTest1();
} public static void readTest1() throws IOException {
File file = new File("F:\\2.txt");
FileReader fileReader = new FileReader(file);
//建立缓冲输入字符流
BufferedReader bufferedReader = new BufferedReader(fileReader);
//读取数据
// int content = bufferedReader.read();
// System.out.println((char)content);
String line = null;
while((line = bufferedReader.readLine()) != null) { //一次读取一行,读到文件末尾null ,每次读取的不包含\r\n的
System.out.println(line);
// System.out.println(Arrays.toString(line.getBytes()));
// System.out.println(Arrays.toString("aa\r\n".getBytes())); //包含换行。
}
//关闭资源
bufferedReader.close();
}
}

自己实现readLine方法,默认的是每次读取一行,但不包括\r\n。自己实现一个包括的

 package file;

 import java.io.File;
import java.io.FileReader;
import java.io.IOException; public class Demo8 {
public static void main(String[] args) throws IOException {
File file = new File("F:\\2.txt");
FileReader fileReader = new FileReader(file);
String line = null;
while(!(line = myReadLine(fileReader)).equals("")) {
System.out.println(line);
}
} //自己实现ReadLine
public static String myReadLine(FileReader fileReader) throws IOException {
//创建一个字符串缓冲类对象
StringBuilder sb = new StringBuilder();
int content = 0;
while((content = fileReader.read()) != -1) {
if(content == '\r') {
continue;
}else if(content == '\n') {
break;
}else {
sb.append((char)content);
}
} // if(content == -1 ){
// return null;
// }
return sb.toString(); //如果没有了,返回的是"",不是null
}
}

BufferedReader的更多相关文章

  1. BufferedReader与Scanner的区别

    在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...

  2. BufferedReader与BufferedWriter读写中文乱码问题

    正常读写英文时用""""没问题 FileReader fre = new FileReader("E:\\TEST\\readText.txt&quo ...

  3. BufferedReader 中的 readLine()

    BufferedReader中的readLine()方法,API解释如下: Reads a line of text. A line is considered to be terminated by ...

  4. Java IO6:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: public static void main(String[] args) throws Exception { File file = new Fi ...

  5. java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)

    1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...

  6. 18 BufferedReader使用方法

    生成BufferedReader对象的方法: BufferedReader in=new BufferedReader(new FileReader("foo.in")); imp ...

  7. 同样有缓冲区,为什么bufferedReader输入流不需要清空缓冲区?而bufferedWriter需要清空缓冲区呢?

    当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取, 如果缓冲区数据不足,才会再从文件中读取.清不清空Buf ...

  8. BufferedReader类

    BufferedReader类用于从缓冲区中读取内容,多有的输入字节数据都将放在缓冲区中. BufferedReader中定义的构造方法只能接收字符输入流的实例,所以必须使用字符输入流和字节输入流的转 ...

  9. BufferedReader readLine()方法

    控制台输入字符串之后回车,后台接收传来的字符串,代码如下: import java.io.BufferedReader; import java.io.IOException; import java ...

  10. Scanner和BufferedReader

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

随机推荐

  1. has-a关系——包含对象成员的类

    #ifndef _STUDENT_H_ #define _STUDENT_H_ #include <iostream> #include <string> #include & ...

  2. [Data Structure] 二叉搜索树(Binary Search Tree) - 笔记

    1. 二叉搜索树,可以用作字典,或者优先队列. 2. 根节点 root 是树结构里面唯一一个其父节点为空的节点. 3. 二叉树搜索树的属性: 假设 x 是二叉搜索树的一个节点.如果 y 是 x 左子树 ...

  3. GitHub for Mac

    GitHub for Mac 安装 1.从 mac.github.com 下载最新版本的 GitHub. 2.当你开启软件时,你可以选择用你的 GitHub 账户登录,或者新建一个账户. 3.在左侧, ...

  4. 持久化API(JPA)系列(三)实体Bean的开发技术-建立与数据库的连接

    在EJB 2.x中.EJB有3种类型的Bean.各自是会话Bean(Session Bean).消息驱动Bean(Message-Driven Bean)和实体Bean(Entity Bean). 随 ...

  5. UVa 11063 - B2-Sequence

    题目:给你一组数据{ b1,b2....,bk }中,推断是否随意两个数字的和都不同. 分析:数论.计算出全部结果,排序推断相邻结果是否同样就可以. 说明:注意数据的合法性检查. #include & ...

  6. Windows下连接调试Asus Nexus 7 Tablet

    Linux和mac下都能够直接连接,可是windows下必须下驱动.官网上的driver无论用.管用的是 https://drive.google.com/uc?id=0Bw8B2a85Qa1jSld ...

  7. 用shape结合selector实现点击效果

    <span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;background-color: rgb(2 ...

  8. 使用Httpwatch分析响应时间--转

    时间片段名称 意思 Blocked (阻塞)灰色 阻塞的时间主要包括,预处理时间,(如缓存查找)和网络排队等待的时间,导致阻塞最主要的原因是下载页面中的图片 DNS Lookup(域名解释)紫色 域名 ...

  9. iText

    iText是著名的开放项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. 官方网站:http://itext ...

  10. 使用CButtonColumn自定义CGridiew里面的按钮

    参考 http://www.yiiwiki.com/post/8 使用yii做的项目,编辑的时候,使用到的是自带的 CButtonColumn , 现在需要在编辑的时候跳新页面,这时只需要这样做就可以 ...