使用java搜索文件中的txt
这是我的txt文件
“hhhead”: “梅尔文”, “应答者”: “Edlen”
我想搜索hhhead并且程序将返回Melvin
我该怎么做?
答案 0 :(得分:2)
我假设您已准备好读取.txt
文件的代码并写入字符串。
在下面的代码中,str是具有文本文件内容的字符串。
String str = "\"hhhead\":\"Melvin\",\"respondent\":\"Edlen\",\"int_date\":\"2017-06-1\u200C\u200B5\",\"start_time\":\"09:\u200C\u200B46\",\"interviewer\":\"K\u200C\u200Bit\",\"house_type\":\"1\"\u200C\u200B,\"nbr\":2,\"nstorey\":1\u200C\u200B,\"roof\":\"1\",\"wall\":\"\u200C\u200B2\",\"floor\":\"7\",\"nnuc\u200C\u200Bfam\":1,\"phsize\":5,\"h\u200C\u200Bpq_mem\":[{\"memno\":\"1\u200C\u200B\",\"msname\":\"Malabarb\u200C\u200Bas\",\"mfname\":\"Melvin\u200C\u200B\",\"mmname\":\"Pirneto\"\u200C\u200B,\"reln\":\"1\",\"reln_o\"\u200C\u200B:\"\",\"nucfam\":\"1\",\"se\u200C\u200Bx\":\"1\",\"birth_date\":\u200C\u200B\"1969-12-18\"";
Map<String,String> map = new HashMap<String,String>();
String[] split = str.split(",");
for(String s: split){
String[] split2 = s.split(":");
map.put(split2[0], split2[1]);
}
System.out.println(map.get("\"hhhead\""));
我从你的评论中复制了数据,并且必须使用反斜杠(“\”)来转义字符串,使用具有“,”作为参数的split方法并存储到键值映射中。如果您使用密钥"\"hhhead\""
进行搜索,则会获得"Melvin"
。
希望这有帮助!
答案 1 :(得分:0)
您可以读取文件并解析数据。
然后,您可以将数据存储在键值对中,如Map
,然后您就可以轻松获取它。
答案 2 :(得分:0)
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {
String sCurrentLine;
String Seach="hhhead";
while ((sCurrentLine = br.readLine()) != null) {
if(sCurrentLine.contains(Seach)){
System.out.println("hhhead FOUND!!");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}