Я занимаюсь самообучением, чтобы помочь мне больше узнать о Java, но я застрял в этом вопросе. У меня есть следующий файл txt:
Name Hobby
Susy eat fish
Anna gardening
Billy bowling with friends
Примечание. имя и хобби разделены вкладкой
Каков наилучший способ прочитать всю строку и поместить ее в arraylist (имя, хобби). Трудная часть состоит в том, что
eat fish or bowling with friends
имеет белые пробелы, и он должен быть помещен под один массив и, очевидно, я не могу его жестко кодировать. Вот мой текущий код:
public void openFile(){
try{
FileInputStream fstream = new FileInputStream("textfile.txt");
// use DataInputStream to read binary NOT text
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> hobbies = new ArrayList<String>();
String lineJustFetched;
while ((lineJustFetched = br.readLine()) != null) {
String[] tokens = lineJustFetched.split(" \t");
Появилась ошибка:
java.lang.StringIndexOutOfBoundsException: индекс строки за пределами диапазона: -1
Я подозреваю, что подсчет индекса не очень полезен на вкладке. Любая идея?