Чтение данных из файла

Есть файл, в котором есть следующие строки:

1-А: 29
1-Б: 30
1-Я: 0

Это пример данных классов, в которых сказано количество учеников (в 1-А 29 учеников и т.д.)

За числа отвечает переменная которая записывает в файл данные:

file.write("1-A: "+first_A);
file.write("1-Б: "+first_B);
file.write("1-Я: "+first_YA);

Данные переменные хранятся в отдельном классе Sharedpraferences.

Как считать данные из файла для каждой переменной?

Например, во всех переменных значение 0, а в файле другие числа. Как можно считать из файла строку и записать количество учеников в свою же переменную?


Ответы (1 шт):

Автор решения: Vadik

В Java много разных способов читать из файла. Один из способов, который подходит для вашей задачи — использовать класс Scanner из пакета java.util.

Читаем все данные из файла с помощью Scanner и записываем их в Map:

Map<String, Integer> map = new HashMap<>();
try (Scanner scanner = new Scanner(file)) {
    while (scanner.hasNext()) {
        String key = scanner.next();
        int value = scanner.nextInt();
        map.put(key, value);
    }
}

Вытаскиваем данные из Map:

int second_A = map.get("1-A:");
int second_B = map.get("1-Б:");
int second_YA = map.get("1-Я:");

Будьте внимательны с ключами, не перепутайте "1-A" и "1-А" — это разные строки.

→ Ссылка