safebufferedreader.java

来自「一个仿qq的程序源码 一个用纯java开发的」· Java 代码 · 共 46 行

JAVA
46
字号
package qianqian.p2pchat.io;

import java.io.BufferedReader;
import java.io.Reader;
import java.io.IOException;

//构造一个安全的BufferedReader
public class SafeBufferedReader extends BufferedReader {
	private boolean lookingForLineFeed = false;

	// 构造方法
	public SafeBufferedReader(Reader in) {
		this(in, 1024);
	}

	// 构造方法
	public SafeBufferedReader(Reader in, int bufferSize) {
		super(in, bufferSize);
	}

	// 覆盖BufferedReader的readLine()方法
	public String readLine() throws IOException {
		StringBuffer sb = new StringBuffer("");
		while (true) {
			int c = this.read();
			if (c == -1) {
				if (sb.equals(""))
					return null;
				return sb.toString();
			} else if (c == '\n') {
				if (lookingForLineFeed) {
					lookingForLineFeed = false;
					continue;
				} else {
					return sb.toString();
				}
			} else if (c == '\r') {
				lookingForLineFeed = true;
				return sb.toString();
			} else {
				lookingForLineFeed = false;
				sb.append((char) c);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?