我创建缓冲作家
BufferedWriter errorReport = new BufferedWriter(new FileWriter("ErrorReport.txt"));
然后我想在将整数转换为十六进制时写。
errorReport.write(Integer.toHexString(version))
这很完美,除了它写了最小可能的长度而忽略了前导0。说“版本”的长度为一个字节,只打印6。那么我知道实际值实际上是06。如何保持这些前导0呢?
我尝试了errorReport.write(String.format(“%03x”,Integer.toHexString(version)),但收到了invalidFormatConversionException x!= java.lang.String的错误。
最佳答案
x
指定十六进制,因此format
将通过直接传递整数来执行转换
errorReport.write(String.format("%03x", version));