Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法从dbf文件读取字符串(但可以正确读取数字类型数据)Java、DBFReader_Java_Inputstream_Dbf - Fatal编程技术网

Can';无法从dbf文件读取字符串(但可以正确读取数字类型数据)Java、DBFReader

Can';无法从dbf文件读取字符串(但可以正确读取数字类型数据)Java、DBFReader,java,inputstream,dbf,Java,Inputstream,Dbf,我目前正在使用DBFReader(github.com/jamel/dbf)读取dbf文件,但当它输出我认为是数据的散列表示时?但是,对于数据为数字的列,这是可以的 下面是代码片段(非常基本的代码): 字符串类型数据的输出 [B@54b749a5 [B@4d441b16 [B@324e68fb [B@39ce508a [B@1809b1ac [B@246f9f88 [B@1c52ac68 [B@77b4ee5e [B@78d9ab8 [B@61a8a9e7 预计会出现这种情况时: 1101 1

我目前正在使用DBFReader(github.com/jamel/dbf)读取dbf文件,但当它输出我认为是数据的散列表示时?但是,对于数据为数字的列,这是可以的

下面是代码片段(非常基本的代码):

字符串类型数据的输出

[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更正读取字符串的意见,我们将不胜感激

    谢谢

    而不是做

    System.out.println(row[1]);
    
    尝试将
    行[1]
    强制转换为所需类型。比如说

    SOP(((String) row[1]).toString());   //if String is expected or
    SOP(((String) row[1]));              //should also work
    

    [B@54b749a5
    被打印是因为
    行[1]
    返回一个
    对象
    类型,然后当您将它传递给
    println
    时,它使用
    对象
    类提供的
    toString()
    定义。

    对象哈希中的[B@表示它是一个字节数组,因此您需要执行以下操作:


    新字符串((字节[])行[1])

    我尝试了强制转换,但没有成功。无论如何,谢谢。:)
    SOP(((String) row[1]).toString());   //if String is expected or
    SOP(((String) row[1]));              //should also work