java操作Blob(.doc文件) 输出前台提示打开/保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java操作Blob(.doc文件) 输出前台提示打开/保存相关的知识,希望对你有一定的参考价值。

Blob blob = notice.getFile();
InputStream fis = new BufferedInputStream(blob.getBinaryStream());
response.reset();
response.setContentType("application/x-msdownload");
response.setHeader("Content-disposition","attachment;filename=ssss.doc");
response.setHeader("Cache-Control","max-age=0");
response.setHeader("Pragma","public");

//File file = new File("d:\\output.doc");
//OutputStream bos = new FileOutputStream(file);
in = blob.getBinaryStream() ;
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
toClient.write(buffer); //输出数据
toClient.flush();
toClient.close();

(使用ajax调用struts1.2的action的方法)
如上代码前台无任何提示,试过N头文件没有反应,文件保存到本地不存在问题,求大虾帮帮忙
Blob blob = notice.getFile();
InputStream fis = new BufferedInputStream(blob.getBinaryStream());
response.reset();
response.setContentType("application/x-msdownload");
response.setHeader("Content-disposition","attachment;filename=ssss.doc");
response.setHeader("Cache-Control","max-age=0");
response.setHeader("Pragma","public");

//File file = new File("d:\\output.doc");
//OutputStream toClient = new FileOutputStream(file);
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
byte[] b = new byte[1024];
int len = 0;
while ((len = fis.read(b)) != -1)
toClient.write(b, 0, len);

fis.close();
toClient.close();

没反应........... (JDK1.4 j2ee1.4 )

参考技术A toClient.flush()

使用 cmd 提示脚本和 java 程序将文件的输出定向到 txt 文件

【中文标题】使用 cmd 提示脚本和 java 程序将文件的输出定向到 txt 文件【英文标题】:Directing output of file to txt file using cmd prompt script and java program 【发布时间】:2013-04-07 03:40:09 【问题描述】:

嘿,我知道还有其他类似的问题,但我对如何按照我想要的方式做到这一点感到困惑。我想运行我的程序,该程序基本上对给定的输入值执行某些操作,然后将执行此操作所需的时间(以毫秒为单位)输出到文本文件。我想对从 10,000 开始并以 10,000 递增直到 200,000 的值执行此操作,并将该值输出到 TXT 文件。像这样

for (int i = 10000; i < 200000; i+=10000)
     print i
     java Program i > results.txt

所以打印到文本文件的输出会是这样的:

10000    30ms
20000    56ms
30000    75ms
etc      etc

任何帮助将不胜感激,在此先感谢

【问题讨论】:

类似这个:***.com/questions/692569/… 到一个txt文件虽然@cakil 或许你可以从这里学习:***.com/questions/5865453/java-writing-to-a-text-file @cakil 这不是我在抱歉之后的样子。我想用上面的循环执行一个批处理文件,它运行java程序,但我不确定如何实现。不过还是谢谢 【参考方案1】:

我想,你的意思是:

@echo off
(for /l %%i in (10000,10000,200000) do "my Java program" %%i)>"results.txt"

【讨论】:

以上是关于java操作Blob(.doc文件) 输出前台提示打开/保存的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现对word文档的读取

asp 前台ajax提交的blob数据在后台怎么接受

获取数据流活动中接收器操作写入的输出文件的 blob URL - Azure Synapse Analytics

MultipartFile文件上传问题

如何在 Angular Web 中显示 blob 内容(doc、ppt、xls)

Java 输入/输出——File类