所以我写了这个应该打开文件并将其输出到屏幕的小类。我的文件是十六进制文件,所以当我在记事本中打开它时,它会输出取决于编码的随机字符。所以我想我必须先将它转换为二进制然后输出(无论如何我都想要它)。
然而,java 在转换时给了我一个错误,并表明它被解释为文本。
怎么了?
班级:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.*;
public class fileClass {
private Scanner s;
private String content;
public void openFile(String fileName) {
try {
s = new Scanner(new FileReader(fileName));
content = s.next();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
finally{
s.close();
}
}
public String HexToBinary(String Hex) {
int i = Integer.parseInt(Hex, 16);
String Bin = Integer.toBinaryString(i);
return Bin;
}
public void output() {
System.out.println(HexToBinary(content));
}
}
错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "tîxl¸?
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at fileClass.HexToBinary(fileClass.java:29)
at fileClass.output(fileClass.java:36)
at test.main(test.java:8)