сохранить ввод из текстового файла в массив - PullRequest
4 голосов
/ 28 марта 2010

Как сохранить содержимое текстового файла в разных массивах?

содержимое моего текстового файла выглядит следующим образом;

12 14 16 18 13 17 14 18 10 23
pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8 pic9 pic10
left right top left right right top top left right
100 200 300 400 500 600 700 800 900 1000

как сохранить каждую строку в отдельном массиве? например,

line 1 will be saved in an array1
line 2 will be saved in an array2
line 3 will be saved in an array3
line 4 will be saved in an array4

Ответы [ 2 ]

3 голосов
/ 28 марта 2010

Раствор 1

List<String[]> arrays = new ArrayList<String[]>(); //You need an array list of arrays since you dont know how many lines does the text file has
try {
        BufferedReader in = new BufferedReader(new FileReader("infilename"));
        String str;
        while ((str = in.readLine()) != null) {
           String arr[] = str.split(" ");
           if(arr.length>0) arrays.add(arr);
        }
        in.close();
    } catch (IOException e) {
    }

В конце массивы будут содержать каждый массив. В вашем примере arrays.length()==4

Чтобы перебрать массивы:

for( String[] myarr : arrays){
   //Do something with myarr
}

Решение 2: Я не думаю, что это хорошая идея, но если вы уверены, что файл всегда будет содержать 4 строки, вы можете сделать это

String arr1[];
String arr2[];
String arr3[];
String arr4[];
try {
        BufferedReader in = new BufferedReader(new FileReader("infilename"));
        String str;
        str = in.readLine();
        arr1[] = str.split(" ");
        str = in.readLine();
        arr2[] = str.split(" ");
        str = in.readLine();
        arr3[] = str.split(" ");
        str = in.readLine();
        arr4[] = str.split(" ");

        in.close();
    } catch (IOException e) {
    }
1 голос
/ 28 марта 2010

посмотрите на строку [] split

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