Webloigc92 報下面的錯誤,有知道的大俠指點一下啊,謝謝。急急~~
<2009-7-3 上午09時36分23秒 CST> <Error> <HTTP> <BEA-101019> <[weblogic.servlet.internal.WebAppServletContext@5d7554 - appName: 'traffic', name: 'WebRoot',
context-path: ''] Servlet failed with IOException
java.io.IOException: failed to read '2' bytes from InputStream; clen: 6016 remaining: 2 count: 6014
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:417)
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:168)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:498)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:486)
at weblogic.servlet.FileServlet.sendFile(FileServlet.java:405)
Truncated. see log file for complete stacktrace
>
是不是下面的代碼有什么問題?
InputStream fis = null;
BufferedOutputStream bos = null;
try {
String dpId = session.getAttribute("dp_id")==null?"":session.getAttribute("dp_id").toString();
String nameReport=request.getParameter("nameReport");
String workbook = request.getParameter("workbook");
if(workbook==null || "".equals(workbook)){
workbook = session.getAttribute("dp_id").toString();
}
String tempworkbook = workbook +"/";
tempworkbook = tempworkbook.replaceAll("主工作薄/",dpId+"/");
if(tempworkbook.endsWith("/")){
tempworkbook = tempworkbook.substring(0,tempworkbook.length()-1);
}
fis = request.getInputStream();
bos = new BufferedOutputStream(new FileOutputStream(new File(strAbsPath+"workbookspace\\"+tempworkbook+"\\"+nameReport+".cll")));
int b = fis.read();
while (b != -1) {
bos.write(b);
b = fis.read();
}
}catch (Exception e) {
e.printStackTrace();
}finally{
bos.flush();
bos.close();
fis.close();
bos = null;
fis = null;
}
原因:因為workbook路徑中包含了空格。
本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝! www.zhipsoft.cn
posted on 2009-07-03 10:44
ZhipSoft 閱讀(2956)
評論(0) 編輯 收藏 所屬分類:
Java