Как хранить разные части текстового файла в разных переменных?

Я пытаюсь прочитать части текстового файла в формате

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 ответа

Решение

Чтение и анализ текстового файла в 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));
    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();
Другие вопросы по тегам