2015-06-06 79 views
-3

我有这种方法只读取文件中的数字,并将其存储到两个不同的数组列表中,每行一列。它将行存储为一个字符串,因此它只有一个索引。从文件读取Java并将整数存储在两个数组中

如何从文件中读取数据并分离所有数字,以便索引0-14,因为我需要它们以后进行计算?

该文件包含此:

vot1:8,8,9,1,7,6,8,8,9,5,6,8,7,9,8 
vot2:7,8,8,8,9,4,7,8,10,7,8,9,8,8,9 

我的代码是这样的:

public void readFileTest(String path) throws FileNotFoundException { 
    BufferedReader br = null; 

    try { 
     br = new BufferedReader(new FileReader(path)); 

     String line = null; 
     int x=0; 

     while ((line = br.readLine()) != null) { 
      x++; 
      if (x<2){ 
      line = line.substring(line.indexOf(":") + 1); 
      numbers.addAll(Arrays.asList(line.split(","))); 
      }else{ 
      line = line.substring(line.indexOf(":") + 1); 
       numbers1.addAll(Arrays.asList(line.split(","))); 
      } 

     } 
    } catch (FileNotFoundException ex) { 
     System.err.println(ex); 
    } catch (IOException ex) { 
     System.err.println(ex); 
    } finally { 
     try { 
      br.close(); 
     } catch (Exception ex) { 
      System.err.println(ex); 
     } 
    } 

    for (Object c : numbers) { 
     System.out.print(c); 
    } 
    System.out.println(); 
    for (Object c : numbers1) { 
     System.out.print(c); 
    } 
} 
+2

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String%29 –

回答

2

使用numbers.addAll(Arrays.asList(line.split(",")))

+0

它给了我这个:889176889568798,它不分离他们 –

+0

你可以发布你试过的代码吗? 'String.split()'函数返回一个数组而不是连接。 – Codebender

+0

我更新了代码 –

相关问题