2010-03-28 69 views
4

如何将文本文件内容保存到不同的阵列?将输入从文本文件保存到数组

我的文本文件内容是这样的;

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 

回答

3

溶液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) { 
    } 
+0

谢谢,但我的意思是,每一行都会被保存不同的数组英寸例如我将有4个不同的阵列,每个阵列的大小为10。不在同一个阵列中。 – Jessy 2010-03-28 18:40:39

+0

例如在txt文件中有4行 会创建4个数组。 每个阵列的大小为10. 并且阵列上的每个元素可以被称为例如。 array1.get(i) – Jessy 2010-03-28 18:42:41

+0

我已经更新了答案以迭代4个数组。 你总是会有4个阵列吗? – Enrique 2010-03-28 19:00:06

相关问题