我目前正在使用DBFReader(github.com/jamel/dbf)来读取DBF文件,但是当它输出我认为是数据的哈希表示形式时?但是,对于数据为数字的列,这很好。
这是代码段(非常基本的代码):
InputStream inputStream = new FileInputStream("./src/data/dbf/Room_20040610.DBF");
DbfReader reader = new DbfReader(inputStream);
Object[] row;
while ((row = reader.nextRecord()) != null) {
System.out.println(row[1]);
}
reader.close();
字符串类型数据的输出
[B@54b749a5
[B@4d441b16
[B@324e68fb
[B@39ce508a
[B@1809b1ac
[B@246f9f88
[B@1c52ac68
[B@77b4ee5e
[B@78d9ab8
[B@61a8a9e7
预计何时:
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
首先,只有一些假设:
dbf文件未损坏或不可读。
当我尝试System.out.println时,作为“哈希”出现的“字符串”数据包含英文和非英文字符,但均无效。
我在Mac上使用Eclipse。 (我想知道Windows上是否有所不同?)
感谢有关如何使用DBFReader纠正读取字符串的任何输入。
谢谢!
最佳答案
对象哈希中的[B @表示其为字节数组,因此您需要执行以下操作:new String((byte[]) row[1])