jacob把word转换为html后再读html输出到页面.报错说html文件不存在.
org.apache.jasper.JasperException: Exception in JSP: /office.jsp:154151: app.invoke("Quit", new Variant[] {});
152: }
153:
154: FileReader fr = new FileReader(htmlfile); //
155: BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引
156:
157: /* BufferedInputStream bis = null;
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:361)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.io.FileNotFoundException: temp.html (系统找不到指定的文件。)
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(Unknown Source)
java.io.FileInputStream.<init>(Unknown Source)
java.io.FileReader.<init>(Unknown Source)
org.apache.jsp.office_jsp._jspService(office_jsp.java:209)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)代码: String docfile = path + "\\" + fileName;
String htmlfile = "temp.html"; ActiveXComponent app = new ActiveXComponent("Word.Application");// 查找word组件
try {
app.setProperty("Visible", new Variant(false));// 设置word不可见
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();// 打开word文件,注意这里第三个参数要设为true,这个参数表示是否以只读方式打开,因为我们不用保存原文件,所以以只读方式打开,如果你想进行读写,那么就得设为false。
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(8) }, new int[1]);//作为html格式保存到目标文件(html-new Variant(8) txt-new Variant(2))
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f); //关闭word文件
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
} FileReader fr = new FileReader(htmlfile); //
BufferedReader br = new BufferedReader(fr);
String Line;
while((Line= br.readLine())!=null) { //读取一行数据
//String tmpStr=new String(Line.getBytes("iso-8859-1"),"GB2312");
out.write(Line);
org.apache.jasper.JasperException: Exception in JSP: /office.jsp:154151: app.invoke("Quit", new Variant[] {});
152: }
153:
154: FileReader fr = new FileReader(htmlfile); //
155: BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引
156:
157: /* BufferedInputStream bis = null;
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:361)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.io.FileNotFoundException: temp.html (系统找不到指定的文件。)
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(Unknown Source)
java.io.FileInputStream.<init>(Unknown Source)
java.io.FileReader.<init>(Unknown Source)
org.apache.jsp.office_jsp._jspService(office_jsp.java:209)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)代码: String docfile = path + "\\" + fileName;
String htmlfile = "temp.html"; ActiveXComponent app = new ActiveXComponent("Word.Application");// 查找word组件
try {
app.setProperty("Visible", new Variant(false));// 设置word不可见
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();// 打开word文件,注意这里第三个参数要设为true,这个参数表示是否以只读方式打开,因为我们不用保存原文件,所以以只读方式打开,如果你想进行读写,那么就得设为false。
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(8) }, new int[1]);//作为html格式保存到目标文件(html-new Variant(8) txt-new Variant(2))
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f); //关闭word文件
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
} FileReader fr = new FileReader(htmlfile); //
BufferedReader br = new BufferedReader(fr);
String Line;
while((Line= br.readLine())!=null) { //读取一行数据
//String tmpStr=new String(Line.getBytes("iso-8859-1"),"GB2312");
out.write(Line);
要像这样htmlfile="D://tomcat//temp.html"
错误不是很明显吗 是找不到temp.html 路径的问题吧