[英]Using String.split on input file
所以我有一個形式的輸入文件:
AdjGraphHeader
11
20
30
.
.
.
並且我需要創建一個字符串數組來單獨保存每一行。 所以我使用以下命令讀取文件:
String s = FileUtils.readFileToString(f);
Words w = new Words(s, (long)s.length());
然后單詞構造函數執行以下操作:
public Words(String str, long n_) {
strings = str.split("\\n");
string = str;
n = n_;
m = strings.length;
}
問題似乎是adjGraphHeader
的末尾有多余的一行,但是我不知道如何擺脫它。 任何幫助將不勝感激。
我懷疑您的行不是由\\n
隔開,而是由\\r\\n
隔開,因此,如果刪除\\n
,則每個單詞后仍會有\\r
,並且在打印時會看到空行。 解決方案之一可以使用此正則表達式進行拆分
"\\r?\\n|\\r"
- ?
使前面描述的元素為可選, |
代表“或”運算符
如果格式為\\r
\\r\\n
\\n
,它將處理行分隔符。
您還可以使用恕我直言的簡單方法
List<String> lines = Files.readAllLines(Paths.get("locationOfFile"));
或者如果您已經擁有File f
List<String> lines = Files.readAllLines(f.toPath());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.