2012-06-04 2 views
0

У меня есть длинный локальный текстовый файл, и я хотел бы написать метод, который будет читать его, и добавить первое слово каждой строки в ArrayList из Strings.Прочитайте первое слово каждой строки текстового файла в ArrayList

У меня очень примитивное понимание основных операций ввода-вывода. Прямо сейчас, из того, что я понимаю, мне нужно, чтобы какой-то объект InputReader читал каждое первое слово, а затем использовал что-то вроде OutputStreamBuffer, чтобы добавить каждое из этих слов как Strings к ArrayList в свою очередь. Я на правильном пути?

Если это правильно, я не совсем уверен, какой именно синтаксис должен был бы это сделать (особенно если у вас есть InputStreamReader перейти к следующей строке после копирования первого слова в каждой строке. ?. близко, что бы вы, ребята, сделать

Спасибо большое за вашу помощь всем, я надеюсь, что мое описание было достаточно ясно для вас

+0

Взгляните на документацию ['Scanner'] (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html). У вас есть большая часть того, что вы хотите сделать там; отсюда, это вопрос изучения того, какие методы помогут вам больше всего. – Makoto

ответ

3

Вы находитесь на правильном пути. - вот мое общее предложение для вашего требования. ..

  1. Создание ArrayList<String> для хранения ваших слов
  2. Использовать BufferedReader для чтения из файла построчно и строки с помощью readLine();
  3. Разбить строки и читать только первое слово (возможно использовать метод String.split() или StringTokenizer или регулярное выражение)
  4. Хранить слово в ArrayList используя add() метод, а затем прочитать следующую строку из пункта 2.

Там не должно быть необходимости использовать OutputStream для ArrayList, вот только усложнять.

1

Я бы использовал java.util.Scanner, в частности методы hasNextLine и nextLine, чтобы получить каждую строку.

Затем используйте другой сканер в каждой строке и hasNext и следующие методы, чтобы получить первое слово, или используйте метод разделения строк (или каким-либо другим способом), чтобы получить первое слово.

Затем добавьте первое слово в ArrayList<String>.