Java 如何将文本文件的不同部分存储到不同的变量中?

Java 如何将文本文件的不同部分存储到不同的变量中?,java,textfield,buffered,Java,Textfield,Buffered,我正在尝试读取部分文本文件的格式 John Smith 72 160 第一行是名称(字符串),第二行和第三行是高度和重量(两个整数)。但是,我找不到一种方法来将它们存储到各自的变量中,相反,我只能找出如何将整个内容存储到一个变量中并打印出来。这是我现在拥有的代码 try { File file = new File("person.txt"); FileReader fileReader = new FileReader(file);

我正在尝试读取部分文本文件的格式

John Smith
72
160
第一行是名称(字符串),第二行和第三行是高度和重量(两个整数)。但是,我找不到一种方法来将它们存储到各自的变量中,相反,我只能找出如何将整个内容存储到一个变量中并打印出来。这是我现在拥有的代码

        try
    {
        File file = new File("person.txt");
        FileReader fileReader = new FileReader(file);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        StringBuffer stringBuffer = new StringBuffer();
        String line;
            while ((line = bufferedReader.readLine()) != null)
            {
               stringBuffer.append(line);
               stringBuffer.append("\n");
            }
        fileReader.close();
        System.out.println(stringBuffer);
    }
在这部分

stringBuffer.append(line);
stringBuffer.append("\n");
我想在存储变量的两条线中间增加一部分,但似乎不可能。我还想过使用for循环,并以某种方式利用它对我有利,但也找不出一种方法来实现它


有没有什么我不知道的方法可以做到这一点?谢谢

在每一个新版本中,阅读和解析Java文本文件都变得越来越容易。您可以尝试以下方法:

List<String> lines = Files.lines(Paths.get("person.txt")).collect(Collectors.toList());
String name = lines.get(0);
Integer height = Integer.parseInt(lines.get(1));
Integer weight = Integer.parseInt(lines.get(2));
List lines=Files.lines(path.get(“person.txt”)).collect(Collectors.toList());
字符串名称=行。获取(0);
整数高度=Integer.parseInt(lines.get(1));
整数权重=Integer.parseInt(lines.get(2));

代码转储答案对未来的访问者没有帮助。请至少解释一下你的答案和密码。告诉我为什么建议您这样做。当我尝试在第三行初始化后通过打印进行测试时,这不起作用:/n这是否有问题?文件应该有3行。当我尝试这样做时,“列表”、“文件”、“路径”和“收集器”都用红色下划线,因为它们尚未初始化。我是否必须初始化这些类(如果是,如何初始化?)或执行其他操作?@msh118,您需要导入这些类/接口。如果您正在使用Eclipse,只需执行Ctrl+Shift+O即可。@msh118,很高兴能为您提供帮助
    File file = new File("person.txt");
    FileReader fileReader = new FileReader(file);
    BufferedReader bufferedReader = new BufferedReader(fileReader);

    String firstline = bufferedReader.readLine();
    String secondline = bufferedReader.readLine();
    String thirdline = bufferedReader.readLine();

    fileReader.close();