用于在 Java 中根据 Blob 的内容创建文件的代码段
我有一些文件存储在Oracle 9的数据库blob列中。
我想将这些文件存储在文件系统中。
这应该很容易,但我没有找到正确的截图。
我该如何在Java中执行此操作?
PreparedStatement ptmst = ...
ResutlSet rs = pstmt.executeQuery();
rs.getBlob();
// mistery
FileOutputStream out = new FileOutputStream();
out.write(); // etc et c
我知道它应该是这样的东西...我不知道的是被评论为迷雾的东西
谢谢
编辑
我终于从大卫的问题中得出了这个结论。
这是我的懒惰实现:
PreparedStatement pstmt = connection.prepareStatement("select BINARY from MYTABLE");
ResultSet rs = pstmt.executeQuery();
while( rs.next() ) {
Blob blob = rs.getBlob("BINARY");
System.out.println("Read "+ blob.length() + " bytes ");
byte [] array = blob.getBytes( 1, ( int ) blob.length() );
File file = File.createTempFile("something-", ".binary", new File("."));
FileOutputStream out = new FileOutputStream( file );
out.write( array );
out.close();
}