[英]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.