Как прочитать информацию из файла в несколько массивов, используя Java?

Всем привет. Есть файл. в него записал фамилии и оценки из соответствующих массивов. В файле строки имеют вид: (Фамилия ; оценка) Подскажите, пожалуйста, как теперь прочитать информацию в другие два массива?

package com.company;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class Class_File {
    public void writeFile() {
        String temp;
        File file = new File("text.txt");
        if(file.exists()) {
            System.out.println("Файл існує!");
        }
        else {
            System.out.println("Файлу не інснує!");
        }
        PrintWriter pw = null;
        try {
            pw = new PrintWriter(file);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        for(int i = 0; i < Main.name.length; i++) {
            temp = Main.name[i] + " ; " + Main.score[i];
            pw.println(temp);
        }
        System.out.println("Розмір файлу у байтах: " + file.length());
        System.out.println("Шлях до файлу: " + file.getAbsolutePath());
        pw.flush();
        pw.close();
    }
}
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 3
Bavashi
@Bavashi Куратор тега Java
File file = new File("text.txt");
        LineNumberReader lineNumberReader = new LineNumberReader(new FileReader(file));
        lineNumberReader.skip(Short.MAX_VALUE);
        int linesCount = lineNumberReader.getLineNumber()+1;
        lineNumberReader.close();

        String[] name = new String[linesCount]; 
        String[] score = new String[linesCount]; 
        
        try (BufferedReader in = new BufferedReader(new FileReader(file))) {
          String line;
          int index = 0;
          
          while (index < linesCount) {
              line = in.readLine();
              String[] temp = line.split(";");
              name[index] = temp[0];
              score[index] = temp[1];
              index++;
          }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
Ответ написан
azerphoenix
@azerphoenix Куратор тега Java
Здравствуйте!
Построчно читаете файл, далее каждую строку по мере чтения делаете split() по символу ";" и добавляете в массив или коллекцию.
Ответ написан
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Открыть файл на чтение, читать построчно и сплиттить по ;, добавляя значения в соответствующий массив.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ОТП Банк Москва
от 240 000 до 270 000 ₽
Sportmaster Lab Санкт-Петербург
от 150 000 ₽
Эвотор Москва
от 180 000 до 250 000 ₽
25 янв. 2021, в 11:26
3000 руб./за проект
21 янв. 2021, в 20:39
60000 руб./за проект
25 янв. 2021, в 11:12
2000 руб./за проект