从文件中读取不可打印的字符

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]+", ""));

这意味着将任何非数字替换为空