簡體   English   中英

Integer.parseInt()使用UTF-8文件拋出NumberFormatException

[英]Integer.parseInt() throws NumberFormatException with UTF-8 files

我需要從文件的內容中解析整數。

為了測試我的算法,當我從聲明的字符串中提供文件的內容時

String test = "15 kuruş";

Integer.parseInt工作正常。 但是,當我從UTF-8文件中讀取Scanner類時,它不起作用並給出異常

java.lang.NumberFormatException:對於輸入字符串:“15”

注意:我將字符串拆分為“15”和“kuruş”,因此parseInt方法僅將“15”作為參數。

示例代碼:

    satir = satir.trim();//15 kuruş
    StringTokenizer tokenizer = new StringTokenizer(satir," ");
    System.out.println(tokenizer.countTokens());//2
    String s = tokenizer.nextToken();
    int deger = Integer.parseInt(s);//where the exception was throwed

您的UTF-8文件可能以BOM開頭,您必須使用正確的編碼讀取文件或手動刪除它。

因此,當您的15不再使用BOM時, Integer.parseInt()將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM