从文件中读取不可打印的字符
Read non-printable character from a file
我试图从文件中读取一个字符作为整数,但收到 NumberFormatException 异常:
Java.lang.NumberFormatException: For input string: "4
" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:458)
at java.lang.Integer.valueOf(Integer.java:554)
at Main.main(Main.java:9)
我很确定它来自文件,因为它只有在我将文本复制到文件时才能复制,当手动输入时,它会正确解析。
我的问题是:如何避免此异常并将“4”解析为变量?我解析它的行是:int m = Integer.valueOf(inputFile.readLine());
你的输入好像有一些特殊字符,为了避免这个问题你可以使用:
int m = Integer.valueOf(inputFile.readLine().replaceAll("[^\d]+", ""));
这意味着将任何非数字替换为空
我试图从文件中读取一个字符作为整数,但收到 NumberFormatException 异常:
Java.lang.NumberFormatException: For input string: "4
" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:458)
at java.lang.Integer.valueOf(Integer.java:554)
at Main.main(Main.java:9)
我很确定它来自文件,因为它只有在我将文本复制到文件时才能复制,当手动输入时,它会正确解析。
我的问题是:如何避免此异常并将“4”解析为变量?我解析它的行是:int m = Integer.valueOf(inputFile.readLine());
你的输入好像有一些特殊字符,为了避免这个问题你可以使用:
int m = Integer.valueOf(inputFile.readLine().replaceAll("[^\d]+", ""));
这意味着将任何非数字替换为空