Java_noob1 2015-07-05 08:35 采纳率: 50%
浏览 5225

java io读取一个txt中带指定关键字的某行。

楼主大一,Java小白,课程设计遇到的问题,用io流读取txt中的数据,查询时输入身份证号,要求显示出这个身份证号所在的这一行信息,这个要怎么做呢?图片

  • 写回答

3条回答 默认 最新

  • JonsonJiao 2015-07-05 13:41
    关注

    可以使用BuffferedReader来读取文件,并一行一行的比较,如果该行包含这个身份证号,就返回该行的信息即可。比如你的txt为D:\data.txt

    public static void main(String[] args) {
            String idNum = "431127004";
            String txtPath = "D:\\data.txt";
            String result = getMatchLine(txtPath, idNum);
            if (result == null) {
                System.out.println("不存在身份证号为" + idNum + "的信息。");
            } else {
                System.out.println("查询成功,身份证号为" + idNum + "的信息如下:");
                System.out.println(result);
            }
        }
    
        private static String getMatchLine(String txtPath, String idNum) {
            String result = null;
            try {
                FileReader fr = new FileReader(new File("D:\\data.txt"));
                BufferedReader br = new BufferedReader(fr);
                String line = br.readLine();
                while (line != null) {
                    if (line.contains("")) {
                        result = line;
                        break;
                    } else {
                        line = br.readLine();
                    }
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return result;
        }
    
    评论

报告相同问题?