如何在文本文件中获取特定数据元素

时间:2016-03-20 05:15:14

标签: java io bufferedreader

我有一个文本文件,里面有两列(名字和生日)。在第一栏我有两个名字(john和brayn)。我只想得到名字 brayn 和他的生日。我怎样才能做到这一点?

我的文字档案:

名称 生日
约翰1991年 brayn 1994年

在我尝试的代码段下面:

import java.io.*;

class Detail{
    public static void main(String[] args) throws Exception {
        users u=new users();
        if(args.length==1){
            System.out.println("No Details");
        }else{
            FileReader reader = new FileReader("users.txt");
            BufferedReader buffer= new BufferedReader(reader);

            String line = null;

            while ((line = buffer.readLine()) != null) {
                u.addToSearchString(line+'\n');
            }
            buffer.close();
            u.printName();
            }
        }
} 

class users{

    String names;

    users(){
        names=new String();
    }

    void addToSearchString(String add){
        names += add;
    }

    void printName() {
        int i = 0;
        int find, start, end;
        while ((find = names.indexOf("name:", i))!=-1){
            start = find + 5;
            end = names.indexOf("\t", start);
            System.out.println(names.substring(start, end));
            i = end + 1;
        }
    }
}

只想在文本文件中获取 brayn 的行并将其分配给变量。

1 个答案:

答案 0 :(得分:1)

假设每行在上面的示例数据中始终具有格式,那么您可以简单地分割文本文件的每一行并保留第二个字符串:

String line = "name: brayn birthday: 1994";
String[] parts = line.split(" ");

String name = parts[1];
System.out.println(name);

<强>输出:

brayn