Java 哪种类型是BLOB?
我的数据库中有大约100000个blob,必须处理它们。当有人告诉我必须处理哪种类型的斑点时,一切都没问题。但在某些情况下,我不知道它是哪种类型。那么我怎样才能知道我的BLOB是哪种类型的呢 上次我处理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",
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
是否表示ASCIIA
、整数65、某些压缩/加密值,或者它在某些上下文中是否有其他含义一样。存储元数据…通过阅读数据库设计的详细规范来了解这一点。在这种情况下,我们试图找到系统的原始作者,希望他还记得。如果没有这一点,则尝试定位使用相同BLOB的其他代码,并从中重新设计规范。在大多数商店里,你将不得不一路走到第三步。