使用java在文件中搜索txt

时间:2017-06-15 11:16:48

标签: java

使用java搜索文件中的txt

这是我的txt文件

  

“hhhead”: “梅尔文”, “应答者”: “Edlen”

我想搜索hhhead并且程序将返回Melvin

我该怎么做?

3 个答案:

答案 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();
    }

}