你好,我正在使用以下代码通过Java从PostgreSQL的bytea中检索文件,但是在文件内部,我得到了像314530413142313141这样的数字。
File file = new File("c:/test.doc");
FileOutputStream fos = new FileOutputStream(file);
ResultSet rs = st.executeQuery("SELECT * FROM test_bytea where id=" + 1);
if (rs != null) {
while (rs.next()) {
byte[] fileBytes = new byte[1024];
InputStream is = rs.getBinaryStream("type_file");
while (is.read(fileBytes) > 0) {
fos.write(fileBytes);
}
// use the stream in some way here
}
rs.close();
}
请告诉我我的代码有什么问题?
type_file
是bytea
类型吗?你所描述的行为听起来像是该列被定义为oid
。 - user330315