Это код, который я использовал для получения массива, как вы хотите:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileIntoArray {
public static void main(String[] args) {
String[][] inventory = new String[30][3];
try {
File myObj = new File("filename.txt");
Scanner myReader = new Scanner(myObj);
int i = 0;
while (myReader.hasNextLine()) {
String[] traits = myReader.nextLine().split(",");
for(int j = 0; j < traits.length; j++){
inventory[i][j] = traits[j];
}
i++;
}
// do stuff here with inventory
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
Несколько вещей, на которые стоит обратить внимание.
Первый - это разбиение, разбивающее каждую строку текстовый файл на запятой. В зависимости от форматирования файла вам может потребоваться добавить пробел, чтобы на пробеле не было конечных пробелов: split(", ")
Следующее, что я перебрал в массиве строк traits
, который мог бы будьте излишними, так как когда-либо будет только 3 записи, но это означает, что массив может быть расширен до большего количества черт при необходимости в будущем.
Наконец, последняя вещь - это переменная i
. Это необходимо для отслеживания итерации l oop.