簡體   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