我从FTP服务器下载了一个Zip文件,并且下载的文件在HttpServletResponse对象中可用。
我已经编写了一个实用程序来使用FileInputStream解压缩存档文件。
我现在想首先将HttpServletResponse转换为FileInputStream,以便可以解压缩下载的文件并将其上传回FTP服务器位置。
我正在考虑编写一个程序来创建一个临时文件,以将数据从HttpServletResponse移至FileInputStream,但我对此持怀疑态度。下面是示例程序。
HttpServletResponse response
...
//Programming logic to download file from FTP to response object
...
FileInputStream fis = null;
FileChannel inputChannel = null;
FileChannel outputChannel = null;
Path archiveFilePath = Files.createTempFile(fileName, null);
OutputStream outStream = (OutputStream) response.getOutputStream();
if(outStream != null) {
FileOutputStream fos = (FileOutputStream) outStream;
outputChannel = fos.getChannel();
fis = new FileInputStream(archiveFilePath.toFile());
inputChannel = fis.getChannel();
outputChannel.transferTo(0, inputChannel.size(), inputChannel);
outputChannel.close();
fos.close();
}
谁能帮助我了解我们如何从HttpServletResponse转换为FileInputStream?要使上述程序按要求工作,需要做些什么。
任何有关此主题的帮助都将受到赞赏。
此致
Alphonsa