2012-07-21 64 views
0

我無法理解爲什麼我的代碼無法正常工作。只需測試它,我的txt文件中只有五個字符。我知道字符被放入我創建的數組中,但我不確定爲什麼不打印它們。謝謝!從文件中讀取字符

 catch (IOException exception) { 
      System.err.println(exception); 
     }// catch 

     finally { 
      try { 
       if (fileInput != null) 
        fileInput.close(); 
      }// try 

      catch (IOException exception) { 
       System.err.println("error!" + exception); 
      }// catch 

     }// finally 

    }// main 
}// TestCode 
+0

轉換服務的目的是什麼,如果它所做的只是返回'char',而你正在傳遞一個'char'數組的元素? – Makoto 2012-07-21 15:19:25

+0

//代碼// ...........意味着有很多代碼,但爲了節省空間,我只是把retun c – 2012-07-21 15:21:53

+0

最好用junit或類似的方法來編寫測試代碼。 – Jayan 2012-07-21 15:25:20

回答

2

您在閱讀器循環中有一個for循環。更好使用:

int index = 0; 
    while ((character = fileInput.read()) != -1) { 
     inputArray[index] = (char) character; 
     index++; 
    } 

此外,請確保您不超過inputArray大小。如果此數據需要增長,您可能需要考慮使用List類型。

+0

完全同意,謝謝! – 2012-07-21 15:34:07

+0

我現在只是測試它,我正好有5個字符在文件 – 2012-07-21 15:40:58

+0

好吧,現在,程序存在於while循環之後,它永遠不會有機會創建實例,我不知道爲什麼 – 2012-07-21 15:42:45