我的数据库中有大约100,000个BLOB,并且必须使用它们。当有人告诉我必须处理哪种类型的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...
}
如何找出使用Java代码的BLOB类型?
答案 0 :(得分:0)
这个问题的最终答案将是罗伯特·哈维(Robert Harvey)的评论:
“识别某种类型的二进制文件的常用方法是在文件的开头具有一些“魔术数字”,您可以使用它们来识别类型。请参见en.wikipedia.org/wiki/…和en .wikipedia.org / wiki / File_format#Magic_number“
还有Erwin Smout的评论:
“通过阅读数据库设计的详细规范。通过尝试找到系统的原始作者并希望他仍然记得,从而避免了此问题。通过尝试使用其他相同的BLOB和种类的代码来查找该问题从那里重新设计规格。在大多数商店中,您都必须一直进行到第三步。las