繁体   English   中英

Java读取一行中有多个换行符

[英]Java reading a line with multiple line breaks within

我有一个包含三行的文件。我想在每行读入一个字符串。 我打算使用java缓冲读卡器

我以为我会做一个while循环,它读取一行直到它到达行尾(\\ n)然后将其存储到变量中并继续直到达到EOF。

这不是一个重复问题的原因是我的文本文件每行都有\\ n的负载。 如下所示。 那么我怎么能读取一行并将其存储到一个字符串中。 需要换行符,因为显示需要选项在其自己的行上

example.txt文件

Q1: (A + B)*(A+B) \n 1. A*A + B*B \n 2. A*A +A*B + B*B \n 3. A*A +2*A*B + B*B \n
Q2: (A + B)*(A - B) \n 1. A*A + 2*B*B \n 2. A*A - B*B \n 3. A*A -2*A*B + B*B \n
Q3: sin(x)*sin(x) + cos(x)*cos(x) \n 1. 1 \n 2. 2 \n 3. 3 \n

正如@Jesper在评论中提到的那样,你对一条线的定义有点偏。 您最好的选择是多行读取,直到找到您要查找的分隔符。 在这种情况下,您似乎应该寻找Q后跟数字和冒号。

如果一次阅读所有内容都不是问题,你甚至可以做这样的事情。

fullString.split("(?<=Q\\d:)");

结果数组将包含一个问题,假设您的文本不包含Q#:在其中的某个位置。

您可以使用Scanner类的useDelimiter方法。 像这样:

Scanner scanner = new Scanner(new File("example.txt"));
scanner.useDelimiter("Q");
while (scanner.hasNext()) {
    String line[i++] = scanner.next();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM