有没有一种方法可以告诉Java BufferedReader只读取到某个特定点?

3

我正在使用Java BufferedReader,并使用bufferedReader.readline()逐行读取文件。

有没有办法告诉我这一行有多少文本,不要超过这个长度就停止读取呢?

换句话说,是否已经存在某些东西可以查看行内容大小,然后开始读取。然后它将读取提供的大小?

3个回答

1

是您想要的吗?

public int read(char[] buf, int offset, int count)

其中:

buf - 存储读取字符的数组,offset - 开始存储字符的数组偏移量,count - 请求读取的字符数


1

您可以使用read(char[] buffer,int offet,int length)来实现此目的。


0
如果您知道一行的大小,那么您可以使用BufferedReader.read(char[] cbuf, int off, int len)来读取您想要的内容,并使用BufferedReader.skip(long n)跳过其余部分。 或者,您可以先读取您需要的行,然后将其截断为您期望的长度。
String line = bufferedReader.readLine();
String truncatedLine = line.substring(0, expectedLength);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接