我目前正在使用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])

10-04 14:02