Я занимаюсь самообучением, чтобы помочь мне больше узнать о Java, но я застрял в этом вопросе. У меня есть следующий текстовый файл:Прочтите файл, разделенный вкладкой, и поместите слова в ArrayList
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: String index out of range: -1
Я подозреваю подсчета индекса не очень полезно на вкладке. Любая идея?
Убедитесь, что никакие новые/пустая строка не присутствует в конце файла. – srkavin