Я занимаюсь самообучением, чтобы помочь мне больше узнать о 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
Я подозреваю, что подсчет индекса не очень полезен на вкладке. Любая идея?
