[英]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.