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

时间:2018-03-11 00:19:21

标签: java textfield buffered

我正在尝试使用格式

读取文本文件的某些部分
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循环并以某种方式使用它对我有利,但是也无法找到一种方法来做到这一点。

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

2 个答案:

答案 0 :(得分:0)

在每个新版本中,用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));

答案 1 :(得分:-1)

    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();