[英]Split lines into two Strings using BufferedReader
我想在讀取我正在使用的txt文件時將每一行拆分為兩個單獨的字符串,然后將它們存儲在HashMap中。 但是現在我似乎無法正確讀取文件。 這是我文件的一小部分:
....
CPI Clock Per Instruction
CPI Common Programming Interface [IBM]
.CPI Code Page Information (file name extension) [MS-DOS]
CPI-C Common Programming Interface for Communications [IBM]
CPIO Copy In and Out [Unix]
....
這就是我的代碼:
try {
BufferedReader br = new BufferedReader(new FileReader("akronymer.txt"));
String line;
String akronym;
String betydning;
while((line = br.readLine()) != null) {
String[] linje = line.split("\\s+");
akronym = linje[0];
betydning = linje[1];
System.out.println(akronym + " || " + betydning);
}
} catch(Exception e) {
System.out.println("Feilen som ble fanget opp: " + e);
}
我想要的是將首字母縮略詞存儲在一個String中,將定義存儲在另一個String中
如果要將拆分限制為僅兩個部分,請使用split("\\\\s+", 2)
。 現在你在每個空格上分割你的線,所以每個單詞都存儲在不同的位置。
問題是定義中的空格被解釋為附加字段。 你只得到linje[1]
定義的第一個單詞,因為其他單詞在其他數組元素中:
["CPI", "Clock", "Per", "Instruction"]
在split
-two-arg重載中提供一個limit
參數,在2個字段處停止:
String[] linje = line.split("\\s+", 2);
例如, linje[0]
將是CPI
, linje[1]
將是Clock Per Instruction
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.