Oracle javaee:解压缩BLOB并将文件放入其中
我正在构建一个JavaEE应用程序,在我的servlet中,我正在从Oracle数据库检索一个BLOB 这个查询非常有效 现在我不知道BLOB的确切格式,它应该是一种压缩文件,因为在sqldeveloper中,我可以将它保存在桌面上,用.ZIP扩展名重命名它,解压缩它,在里面我可以找到一个TXT文件 所以它应该是一个已经压缩的txt文件 我想在我的Javaservlet中检索txt文件内容。因此,解压缩文件并读取txt文件 我尝试过使用GZIPInputStream:Oracle javaee:解压缩BLOB并将文件放入其中,oracle,jakarta-ee,zip,blob,Oracle,Jakarta Ee,Zip,Blob,我正在构建一个JavaEE应用程序,在我的servlet中,我正在从Oracle数据库检索一个BLOB 这个查询非常有效 现在我不知道BLOB的确切格式,它应该是一种压缩文件,因为在sqldeveloper中,我可以将它保存在桌面上,用.ZIP扩展名重命名它,解压缩它,在里面我可以找到一个TXT文件 所以它应该是一个已经压缩的txt文件 我想在我的Javaservlet中检索txt文件内容。因此,解压缩文件并读取txt文件 我尝试过使用GZIPInputStream: gStream = new
gStream = new GZIPInputStream(blob.getBinaryStream());
如前所述
但我得到一个例外:“不是GZIP格式”
你能帮帮我吗
- 我需要先打开才能解压这个BLOB吗
- 那么如何在里面获取txt文件呢
和是完全不同的格式。前者是存档和压缩格式,后者只是压缩格式。您需要一个能够理解zip格式的输入流,请尝试使用。并且是完全不同的格式。前者是存档和压缩格式,后者只是压缩格式。您需要一个能够理解zip格式的输入流,请尝试。好的,我正在尝试。。。但是有一个ZipInputStream对象,我如何在压缩的blob中检索txt文件的内容呢?我还使用ZipInputStream中的FileOutputStream创建了一个文件,但是该文件是空的。。。它将写入哪个文件?拉链还是里面的TXT。。。hmmmgZipStream=新的ZipInputStream(blob.getBinaryStream());字节[]buf=新字节[1024];显示gZipStream.read(buf)结果是-1…好的,我正在尝试。。。但是有一个ZipInputStream对象,我如何在压缩的blob中检索txt文件的内容呢?我还使用ZipInputStream中的FileOutputStream创建了一个文件,但是该文件是空的。。。它将写入哪个文件?拉链还是里面的TXT。。。hmmmgZipStream=新的ZipInputStream(blob.getBinaryStream());字节[]buf=新字节[1024];显示gZipStream.read(buf)结果是-1。。。