2011-06-18 81 views
1

所以我试图从文件中读取多个行,然后将它们放入String []中。但它似乎并不奏效。我做错了什么?从文件中读取的问题

 String[] liniiFisier=new String[20]; 
    int i=0; 
    try{ 
      FileInputStream fstream = new FileInputStream("textfile.txt"); 
      DataInputStream in = new DataInputStream(fstream); 
      BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
      String strLine; 
      while ((strLine = br.readLine()) != null) { 
       liniiFisier[i]=strLine; 
       i++; 
      } 
      //Close the input stream 
      in.close(); 
      }catch (Exception e){//Catch exception if any 
      System.err.println("Error: " + e.getMessage()); 
      } 
      for(int j=0;j<i;j++) 
       System.out.println(liniiFisier[i]);  
+0

你是什么意思“似乎没有工作”? – Mat

+0

我在println上得到空 – Stormel

+0

它正确地读取了行数...但是文本没有保存 – Stormel

回答

3

更改最后一行到

System.out.println(liniiFisier[j]); // important: use j, not i 
+0

SOOOO STUPID ......非常感谢 – Stormel

1

你应该告诉我们发生了什么事,什么问题发生。

但我还没有看到一些错误:

  1. 想象一下你的文件有超过20行,所以你会尝试访问liniiFisier[20],但这个领域不存在!结果ArrayIndexOutOfBounds
  2. 在你for循环你迭代j但总是用i ...
  3. 创建BufferedReader可以在更短的代码来完成:

 

FileReader fr = new FileReader ("textfile.txt"); 
BufferedReader br = new BufferedReader (fr); 

因为我不知道你的特殊问题,这可能无法解决它,所以请提供更多信息;-)