2017-04-11 145 views
0

我試圖訪問simulation.log文件中的兩個字符串值,並將這兩個值轉換爲long類型。這是日誌文件的例子:線程「main」中的異常java.lang.NumberFormatException:對於輸入字符串:「」

Log Fille

當我試圖訪問它告訴自己的字符串是空值。我得到的錯誤是:

Error

我的代碼如下(我理解的說法是不完全關閉):

File file = new File(simulationLogDir + "/simulation.log"); 
     FileReader simulationLogReader = new FileReader(file); 
     BufferedReader bufferedReader = new BufferedReader(simulationLogReader); 
     StringBuffer stringBuffer = new StringBuffer(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      String[] fields = line.split("\t"); 
      long responseTime = Long.parseLong(fields[5]) - Long.parseLong(fields[4]); 
      if (line.startsWith("REQUEST")) { 
       if (fields[7].equals("OK")) { 
        addPassedTest(fields[1], new Request(fields[4],responseTime, fields[7])); 
       } 

在模擬日誌的每一行是由標籤空格分隔所以字段數組分隔每個字符串。

+0

請出示日誌文件和文本中的例外,而不是作爲截圖 – SilverNak

+3

檢查是否有文件中的兩個連續的標籤。 –

+0

@ammoQ謝謝!這不是問題,但它允許我弄清楚它正在閱讀我沒有用過的文件的一行。謝謝你快速的回覆。 –

回答

0
總結:

請仔細檢查您的文件是否有錯誤鍵入的空格。

基於我注意到的。第8行(兩個parseLongs)非常容易受到異常的影響,或者我們可以說可以拋出NumberFormatException,尤其是當它解析非數字字符串時。

這是什麼時候發生的?基於問題的標題線程「main」中的異常java.lang.NumberFormatException:對於輸入字符串:「」,我敢肯定你的文件中有一行的實例在標籤後面有一個空格並巧合地由Long.parseInt(string num)解析;

爲了更進一步解釋,我會給你2樣本情況。

情況1: 。在你的文件中的一行看起來像這樣

請求(標籤)test_12345_54321(標籤)1(標籤)的MacBook請求(標籤)(空間)1490183061440(製表)1490183061321(製表符)行

這條線將然後以這樣的方式如下劈裂:

領域[ 0] = REQUEST
領域[1] = test_12345_54321
領域[2] = 1個
領域[3] =的MacBook請求
領域[4] =(空間)1490183061440
領域[5] = 1490183061321個
領域[6] = OK

解析第四指數和第五指數將是:

Long.parseLong(fields [4]) - >空格無法解析爲NumberFormatException的結果
長。parseLong(字段[5])= 1490183061321 - >工作正常


情況2: 。在你的文件中的行看起來像這樣

REQUEST(製表符)test_12345_54321 (tab)1(tab)Macbook Request(tab)1490183061440(tab)(space)(tab)1490183061321(tab)OK

這條線將被分割成s UCH方式如下:

字段[0] = REQUEST
領域[1] = test_12345_54321
領域[2] = 1個
領域[3] =的MacBook請求
領域[4] = 1490183061440個
領域[5] =(空間)
領域[5] = 1490183061321個
領域[6] = OK

解析第四指數和第五指數將是:

的Long.parseLong(字段[4])= 1490183061440 - >工作正常
的Long.parseLong(字段[5]) - >空間不能被解析爲結果NumberFormatException的

相關問題