回答
這裏有一種方法:
import java.io.*;
import java.util.*;
class Test {
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileReader("filename.txt"));
HashMap<String, String> map = new HashMap<String, String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split(" ");
map.put(columns[0], columns[1]);
}
System.out.println(map);
}
}
給定的輸入:
somekey somevalue
someotherkey someothervalue
此打印
{someotherkey=someothervalue, somekey=somevalue}
如果你的線條看起來不一樣我建議你提取columns[0]
和columns[1]
並根據需要進行字符串操作,或者,如果您對正則表達式感到滿意,可以使用Pattern
/Matcher
將該行與模式匹配,並從捕獲組中獲取內容。
在哈希表,如果你想每行中的兩列映射可以使第一列的值作爲關鍵字和第二列作爲值。但密鑰在Hashmap中應該是唯一的。如果第一列中的值是唯一的,你可以去下面的方法
Map<String,String> map = new HashMap<String,String>();
map.put(firstColVal,secondColVal);
萬一
- 鑰匙(第一列)不包含空格和
- 你列由分離無論是
:
,一個=
或白色字符(除換行符)
那麼這可能工作:
Map<Object, Object> map = new Properties();
((Properties) map).load(new FileReader("inputfile.txt"));
剛剛看到您的樣品輸入...你不應該把是映射中的數據,除非它是保證所有 firstnames是唯一的。
否則會出現這種情況:
map.put("Homer", "Simpson"); // new key/value pair
map.put("Bart", "Simpson"); // new key/value pair
map.put("Homer", "Johnsson"); // value for "Homer" is replaced with "Johnsson"
System.out.println(map.get("Homer")); // guess what happens..
保證每個名字是不同的。如果第一列包含空格會發生什麼?如果我遇到過這種情況,你建議我需要做什麼? – Pranay 2011-04-18 12:07:17
@Pranay - 你需要一個清晰的方式來分隔列,或者通過定義一個*分隔符*(一個''',一個標籤,一個空格...)或者通過定義一個位置(比如*第二列開始於位置20 *)。如果* space *是您的分隔符,並且您有多個單詞名(「Homer Bart Simpson」),則算法無法確定,第二個單詞(「Bart」)屬於名字還是姓。 – 2011-04-18 13:02:52
- 1. 將整數值存儲到文件中
- 2. 將int值存儲到文本文件中並讀取它?
- 3. 從存儲在本地存儲在gradle中的.properties文件中的值中將值添加到war文件到yml文件中
- 4. 如何將令牌值存儲到我的本地JavaScript文件
- 5. 如何將工件安裝到本地gradle文件存儲中
- 6. 是否可以將本地存儲值加載到推文中?
- 7. 從存儲在BLOB存儲中的zip存檔中提取文件並將其複製到本地文件夾
- 8. 將圖像從URL保存到C#中的本地文件中
- 9. 將圖片資源保存到UWP中的本地文件夾中的存儲文件
- 10. 在文本文件中存儲位圖
- 11. Git將存儲庫中的文件合併到本地PC上的文件
- 12. 將文本文件中的每行存儲到數組中
- 13. 將多個文本框存儲到本地存儲的HTML5
- 14. 如何將本地數據存儲下載到csv文件中?
- 15. 在Chrome擴展中將文件存儲到本地磁盤
- 16. 將關係存儲到本地文件中豬不工作
- 17. 將numpy數組列表存儲到本地文件中?
- 18. 將文本框的值存儲到xml文件中的新節點中
- 19. 本地文件的Phonegap文件存儲
- 20. 將JSON文件中的數據存入本地存儲
- 21. JavaScript - 將表單文本存儲在本地存儲中
- 22. 將文本文件安全地存儲在JAR中
- 23. 如何將已經在內存中的地圖數據存儲到文件中
- 24. 將一個值存儲到myfile文本文件的新行
- 25. 將圖像保存到IIS本地主機中的文件夾
- 26. 在屬性文件中存儲地圖
- 27. 本地文件存儲
- 28. C:將文本文件中的值保存到內存字段
- 29. 如何將Android中的印地文文本存儲在MySQL中?
- 30. C - 將文本中的值存儲到數組中
請發表你有什麼至今。如果您沒有任何東西,請搜索教程並在本網站中搜索您輸入的關鍵字。 – Mat 2011-04-18 10:57:05
請從您的實際輸入文件中張貼幾行。可能有一個非常非常小的解決方案,但我們需要看一個小樣本。 – 2011-04-18 11:05:48
實際輸入僅如上所述,即它包含一個列,其中包含firstname,然後是空格,另一列包含secondname和多行中的相應值。 – Pranay 2011-04-18 11:17:22