有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java读取文件并根据行的内容执行函数

我想知道是否有可能通过行号读取文件,每个行号都有不同的值,并在其中设置一个条件,即该行是否包含指定的特定字符串或数字。例如,如果它这样做了,它会将该行中指定的内容放入一个变量中吗

所以在一个文件中,第一行的年龄是50岁,第二行的年龄是23岁,第三行的年龄是34岁。我希望我特别关注第3行,把数字34放在一个变量中,以便在我的程序中使用

如果可能的话,你会怎么做


共 (3) 个答案

  1. # 1 楼答案

    可能重复:Reading a file and performing functions based on the contents of the line

    您总是可以遍历每一行,通过int或short来跟踪该行

    一些代码:

    String line;
    BufferedReader br = new BufferedReader(new FileReader(FILE_HERE));
    int line = 0;
    while ((line = br.readLine()) != null) {
       line++;
       if(line == 3){
           //do whatever you want
       }
    }
    br.close();
    

    我要补充一点,当其他人也有相同的信息时,从一行中获取一些信息是不好的

  2. # 2 楼答案

    我想说的是,除非——也许你知道你的文件的行大小等等,否则不可能直接寻址特定的行。。。查找文件。但你可以用它逐行浏览你的文件:

    String line;
    BufferedReader br = new BufferedReader(new FileReader(file));
    while ((line = br.readLine()) != null) {
       // do some cool stuff with this line.
    }
    br.close();
    
  3. # 3 楼答案

    可以使用scanner对象读取文件。您可以使用分隔符来查找所需的信息,并使用计数器来跟踪该行,然后将其放入arraylist或其他内容中。取决于你想做什么

    Scanner in = new Scanner(filename);
    int line = 0;
    in.useDelimiter("[regex of the info you are looking for]");
    while in.hasNext()) {
      line++
      //do something
    }