Java如何在文本文件中搜索指定数值

比如,一个文本文件1.txt,里面内容是

14332235201314123456789

我的需求是:用Java语言搜索这个文本中的5在第几个位置,并记录这个位置。

public static Map<String,Object> getNumberIndex(File file,Integer number) throws IOException{
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line = null;
        Map<String,Object> obj = new HashMap<>();
        int index = 0;
        try {
            while ((line = reader.readLine())!= null){
                System.out.println("第" + (index+1)+"行");
                List<Integer> indexs = new ArrayList<>();
                char[] chars = line.toCharArray();
                for (int i = 0; i < chars.length; i++) {
                    if (Integer.toString(number).toCharArray()[0]==chars[i] ){ //查5的索引下标
                        indexs.add(i);
                    }
                }
                obj.put(index+1 +"行",indexs);
                index ++ ;
            }
        }finally {
            reader.close();
        }
        return obj;
    }

读取文件中 指定number 所在行的索引下标


`java
   public static void main(String[] args) {
        String txtpath="D:\\1.txt";
            File file = new File(txtpath);
            StringBuilder result = new StringBuilder();
            try {
                BufferedReader br = new BufferedReader(new FileReader(file));
                String s = null;
                while ((s = br.readLine()) != null) {
                    result.append(System.lineSeparator() + s);
                }
                br.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println(result);
           result.toString().indexOf("5");

    }

可能结果需要-1 那个有个/r/n 没去掉 主要思路就是读取文件内容,然后再用String的方法获取位置

img


读取文件 就不写了,获取字符位置,可以参考一下