文档章节

用Reader模拟BufferedReader的特有功能readLine()

大强森
 大强森
发布于 2017/04/04 13:39
字数 141
阅读 17
收藏 0
import java.io.IOException;
import java.io.Reader;

//用Reader模拟BufferedReader的特有功能readLine()
public class ReaderMoni {

	private Reader r;

	ReaderMoni(Reader r) {
		this.r = r;
	}

	public String readLine() {
		StringBuilder sb = new StringBuilder();
		int ch = 0;
		try {
			while ((ch = r.read()) != -1) {
				if (ch == '\r') {
					continue;
				}
				if (ch == '\n') {
					return sb.toString();
				} else {
					sb.append((char) ch);
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		// 为了防止数据丢失
		if (sb.length() > 0) {
			return sb.toString();
		}
		return null;
	}

		
	public void close() {
		try {
			this.r.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

 

import java.io.FileReader;
import java.io.IOException;

//用Reader模拟BufferedReader的特有功能readLine();
public class Moni {
	public static void main(String[] args) {
		ReaderMoni r = null;

		try {
			r = new ReaderMoni(new FileReader("b.txt"));
		} catch (IOException e) {
			e.printStackTrace();
		}

		String s = null;
		while ((s = r.readLine()) != null) {
			System.out.println(s);
		}

		r.close();

	}
}

 

© 著作权归作者所有

大强森
粉丝 2
博文 24
码字总数 9681
作品 0
奉贤
程序员
私信 提问
Java I/O系统 字符流

IO流:用于处理设备上的数据。 设备:硬盘,内存,键盘录入。 IO有具体的分类: 1:根据处理的数据类型不同,字节流和字符流。 2:根据流向不同,输入流和输出流。 字符流的由来: 因为文件编...

坦途abc
2018/03/14
4
0
java写文件

datacube
2016/07/18
8
0
java nio 读取文本文件

这两天在看nio,突然发现nio中有一个方法一句话就可以读取整个文本文件 开始看的时候还以为是什么高大上的东西,最后查看了源码,发现就是对普通的io进行了一层封装而已 readAllLines源码 ne...

汉乐府之长歌行
2016/12/14
95
0
Java IO类库之BufferedReader

一、BufferedReader的介绍 BufferedReader继承自Reader是字符缓冲输入流,它在内部开辟了一个缓冲区为底层字符输入流提供读取缓冲功能,从而可以提供字符、数组和行数据的高效读取。通常字符...

老韭菜
2018/08/20
8
0
新浪短地址Java版

BufferedReader reader = null; try { longurl = URLEncoder.encode(longurl, "GBK"); URL url = new URL("http://api.t.sina.com.cn/shorturl/shorten.json?source=2546260130&urllong=" + ......

有事没事
2016/07/08
209
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
39分钟前
48
0
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
9
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部