2011-06-18 83 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); 

因爲我不知道你的特殊問題,這可能無法解決它,所以請提供更多信息;-)