2012-05-25 7 views
-4

У меня есть файлы, которые содержат массив как это: Вот отрывок из одного из моего .txtJava: Импорт массив из файла в массив

itemlist= new int[][] { 
    { 0, 0, 0, 0, 0}, 
    { 1, 1, 1, 1, 1}, 
    { 2, 2, 2, 2, 2}, 
    { 3, 3, 3, 3, 3}, 
    { 4, 4, 4, 4, 4} 
}; 

Как вы видите .txt файл содержит многомерный массив список , Есть ли способ передать это массиву в java?

Cheers!

+6

Таким образом, содержимое вашего файла является, по существу, исходным кодом java? – biziclop

+6

Да, есть способ. Что ты пробовал? –

+0

yup file = source, но я думаю, что могу его каким-то образом изменить – AndroidXTr3meN

ответ

0

Я чувствую, что это своего рода домашнее задание, поэтому я не могу дать вам код, но если бы я тебя, я бы:

1) поместить текст из файла в одну строку (без новых марок линии)

2) (я предполагаю, что one file == one table data) попытаться выделить текст между первым и последним {} (опять же регулярным выражением может помочь)

3) разделение контента от точки 2, чтобы данные каждого {} в отдельном места (используйте split и снова regex)

4) оценки размеров массива путем подсчета пара {} и подсчет , внутри них (по регулярному выражению, или итерации символов)

5) теперь можно создать таблицу (я знаю размеры)

6) в пункте 3 Я выделил все строки (или cols, в зависимости от того, как вы поместите их в таблицу), так что теперь пришло время их прочитать и положить в таблицу, поэтому нам нужно выполнить итерацию по всем данным из точки 3 и:

6.1) падение {} кронштейны

6,2) расщепленный с помощью ,

6.3) подрезать пространства

6,4) разобрать в целое и поместить в массив

Надежда, что достаточно для создания кода.

+0

Спасибо, им в части регулярного выражения, но он не найдет {} скобки .. :( – AndroidXTr3meN

+0

@ AndroidXTr3meN Что вы пробовали? Может быть [это] (http://www.regular-expressions.info/dot.html) будет hepl you немного (весь сайт замечательный, а не только эта часть) – Pshemo

+0

pattern \\ {([^}] *) \\}; работает, но он не получает совпадений, потому что у меня есть новые строки \ n – AndroidXTr3meN

0
public static void main(String[] args) { 

    int itemlist[][]= new int[][] { 
     { 0, 0, 0, 0, 0}, 
     { 1, 1, 1, 1, 1}, 
     { 2, 2, 2, 2, 2}, 
     { 3, 3, 3, 3, 3}, 
     { 4, 4, 4, 4, 4} 
    }; 

    int length=itemlist.clone().length*itemlist.length; 
    int tab[]=new int[length]; 
    int i=1; 
    for(int j=0;j<itemlist.length;j++) 
    { 
     for(int k=0;k<itemlist.clone().length;k++) 
     { 
     tab[i]=itemlist[j][k]; 
     i++; 

     if (i== length) break ; 
     } 
    } 

    for(int h=0;h<length;h++){ 
     System.out.println(" "+tab[h]); 
    } 
}