Создайте массив, заполнив его элементами .txt - PullRequest
3 голосов
/ 11 марта 2011

Я хочу создать массив, заполняя его при чтении элементов из файла .txt, отформатированного так:

item1
item2
item3

Таким образом, конечный результат должен быть таким массивом:

String[] myArray = {item1, item2, item3}

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 11 марта 2011
  1. Оберните BufferedReader вокруг FileReader, чтобы вы могли легко прочитать каждую строку файла;
  2. Сохраните строки в List (при условии, что вы не знаете, сколько строк вы собираетесь прочитать);
  3. Преобразовать List в массив, используя toArray.

Простая реализация:

public static void main(String[] args) throws IOException {
    List<String> lines = new ArrayList<String>();
    BufferedReader reader = null;
    try {
        reader = new BufferedReader(new FileReader("file.txt"));
        String line = null;
        while ((line = reader.readLine()) != null) {
            lines.add(line);
        }
    } finally {
        reader.close();
    }
    String[] array = lines.toArray();
}
1 голос
/ 11 марта 2011

Это пахнет домашней работой.Если это так, вы должны перечитать свои заметки и рассказать нам, что вы пробовали.

Лично я бы использовал сканер (из java.util).

import java.io.*;
import java.util.*;

public class Franky {
    public static void main(String[] args) {
        Scanner sc = new Scanner(new File("myfile.txt"));
        String[] items = new String[3]; // use ArrayList if you don't know how many
        int i = 0;
        while(sc.hasNextLine() && i < items.length) {
            items[i] = sc.nextLine();
            i++;
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...