我的数据库中有大约 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...
}
如何找出 BLOB 正在使用 Java 代码的类型?
最佳答案
这个问题的最终答案是 Robert Harvey 的评论:
“识别某种类型的二进制文件的常用方法是在文件的开头使用一些“魔数(Magic Number)”来识别类型。参见 en.wikipedia.org/wiki/… 和 en .wikipedia.org/wiki/File_format#Magic_number"
还有 Erwin Smout 的评论:
“通过阅读数据库设计的详细规范。如果没有,通过尝试找到系统的原始作者并希望他还记得。如果没有,通过尝试找到使用相同 BLOB 和类型的其他代码从那里重新设计规范。在大多数商店中,您将不得不一直走到第三步,唉。”
关于java - BLOB 是哪种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220484/