Integer.parseInt() throws NumberFormatException with UTF-8 files
integer, java, java.util.scanner
Solution
Your UTF-8 File probably starts with a BOM, you have to read the File with the correct encoding or get rid of it manually.
So when your 15 is not preceeded with the BOM anymore, `Integer.parseInt()` will work.
Problem
I need to parse integers from contents of a file. For testing my algorithms, when I give the contents of a file from a declared string ``` String test = "15 kuruş"; ``` Integer.parseInt works fine. But when I read with Scanner class from a UTF-8 file it doesn't work and gives the exception java.lang.NumberFormatException: For input string: "15" Note: I split the string to "15" and "kuruş" so the parseInt method takes only "15" as argument. Sample code: ``` 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 ```