Как записать в двумерный массив
Есть документ с данными
Кредит:12500:1:
А что вы тут смотрите?:99999999:2:
Это надо закрыть:15428:3:
Люблю java:4850:4:
Долг Лехе:100050:5:
На отдых:2000:6:
Он читается с помощью кода
public static void main(String[] args) {
goInfo();
}
public static void goInfo() {
try {
try {
File file = new File("src/BankAccount.txt");
//создаем объект FileReader для объекта File
FileReader fr = new FileReader(file);
//создаем BufferedReader с существующего FileReader для построчного считывания
BufferedReader reader = new BufferedReader(fr);
// считаем сначала первую строку
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// считываем остальные строки в цикле
line = reader.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
Как эти обработать через split() и все это записать в двумерный массив, что бы он выглядел так
[0][0]Кредит [0][1]12500 [0][2]1
[1][0]А что вы тут смотрите? [1][1]99999999 [1][2]2
[2][0]Это надо закрыть [2][1]15428 [2][2]3
[3][0]Люблю java: [3][1]4850 [3][2]4
[4][0]Долг Лехе: [4][1]100050 [4][2]5
[5][0]На отдых: [5][1]2000 [5][2]6
Ответы (1 шт):
Автор решения: SerJoJa
→ Ссылка
Ну как то так:
public static void goInfo() {
try {
int j = 0;
File file = new File("src/BankAccount.txt");
//создаем объект FileReader для объекта File
FileReader fr = new FileReader(file);
//создаем BufferedReader с существующего FileReader для построчного считывания
BufferedReader reader = new BufferedReader(fr);
// считаем сначала первую строку
for (int i = 0; i < strLeight(); i++) {
String line = reader.readLine();
for (String retval : line.split(":")) {
massInfo[i][j] = retval;
System.out.println(massInfo[i][j]);
j++;
if (j == 3){
j = 0;
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}