【发布时间】:2012-01-22 16:41:17
【问题描述】:
如何更改此代码以强制覆盖保存在驱动器上的现有先前打开的文件?它是用于在客户端打开 pdf 文件的 servlet 的一部分。
response.reset();
response.setContentType("application/pdf");
response.setContentLength(file.length());
response.setHeader("Content-disposition", "inline; filename=\"" + file.getName() + "\"");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try
{
input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0)
{
output.write(buffer, 0, length);
}
}
finally
{
close(output);
close(input);
}
打开文件的每个下一个副本都有一个新索引,例如test.pdf、test(1).pdf等
【问题讨论】:
标签: java jsf jakarta-ee servlets jsf-2