Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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
Java 哪种类型是BLOB?_Java_Db2_Blob - Fatal编程技术网

Java 哪种类型是BLOB?

Java 哪种类型是BLOB?,java,db2,blob,Java,Db2,Blob,我的数据库中有大约100000个blob,必须处理它们。当有人告诉我必须处理哪种类型的斑点时,一切都没问题。但在某些情况下,我不知道它是哪种类型。那么我怎样才能知道我的BLOB是哪种类型的呢 上次我处理BLOB时,我得到了关于它的具体信息,它是压缩文件。所以我做了这个 try { byte[] str = this.jdbcTemplate.queryForObject("SELECT SAVEDATA FROM JDBEVPP1.TEVP005 WHERE GFNR = 357302",

我的数据库中有大约100000个blob,必须处理它们。当有人告诉我必须处理哪种类型的斑点时,一切都没问题。但在某些情况下,我不知道它是哪种类型。那么我怎样才能知道我的BLOB是哪种类型的呢

上次我处理BLOB时,我得到了关于它的具体信息,它是压缩文件。所以我做了这个

try {
   byte[] str = this.jdbcTemplate.queryForObject("SELECT SAVEDATA FROM JDBEVPP1.TEVP005 WHERE GFNR = 357302", byte[].class);    // pakira BLOB u byte array
   ByteArrayInputStream bys = new ByteArrayInputStream(str);
   GZIPInputStream gzip = new GZIPInputStream(bys);
   //...etc...
}

我怎样才能知道BLOB使用的是哪种类型的Java代码?

这个问题的最终答案是Robert Harvey的评论:


“识别某种类型的二进制文件的常用方法是在文件的开头有一些“幻数”,可以用来识别该类型。请参见en.wikipedia.org/wiki/…和en.wikipedia.org/wiki/file_format#magic_number”

以及埃尔文·斯穆特的评论:


“通过阅读数据库设计的详细规范。如果没有,请尝试找到系统的原始作者并希望他仍然记得。如果没有,请尝试找到使用相同BLOB的其他代码,并从那里重新设计规范。在大多数商店中,您将不得不一路走到第三步。”

识别某种类型的二进制文件的常用方法是在文件的开头有一些“幻数”,可以用来识别该类型。一般来说,你无法识别它是什么类型的对象。它毕竟只是一个“二进制大对象”。就像您不知道字节
01000001
是否表示ASCII
A
、整数65、某些压缩/加密值,或者它在某些上下文中是否有其他含义一样。存储元数据…通过阅读数据库设计的详细规范来了解这一点。在这种情况下,我们试图找到系统的原始作者,希望他还记得。如果没有这一点,则尝试定位使用相同BLOB的其他代码,并从中重新设计规范。在大多数商店里,你将不得不一路走到第三步。