假设有一个文件,其中写入了一组基元,但我不知道基元的类型。
如何从代码中将数据读入适当的数据类型? (即将 int 读入 int、将 byte 读入 byte 等)
或者这是不可能的?
最佳答案
您可以尝试将其转换为所需的类型...如果转换失败,您可以尝试下一个类型,依此类推。最终类型是字符串。
例如,如果文件包含这些行:
1
1.3
12345324223423
test
true
false
您可以测试每个值是否可以转换:
try {
int value = Integer.parseInt(test);
}
catch (NumberFormatException e) {
try {
double value2 = Double.parseDouble(test);
}
catch (NumberFormatException ex) {
... and so on ...
}
}
我会从最小的开始,然后逐渐增大,例如:
- 字节
- 整数
- 长
- 大十进制
- boolean 值
- 查尔
- 和最后一个字符串
关于java - 确定java中InputStream中下一个读取的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948497/