xml读取问题
使用jdom4j读取一个xml文件,调试环境JBuilider9 + weblogic8.1,读取的代码为:
File f = new File( "C:\\test.xml" );
System.out.println("111111111111");
if( f == null )
{
System.out.println("new file");
return 0;
}
SAXReader reader = new SAXReader();
System.out.println("2222222222222222");
if( reader == null )
{
System.out.println("new SAXReader");
return 0;
}
//读取并解析文件
Document doc = reader.read(f);
System.out.println("33333333333333333");
if( doc == null )
{
System.out.println("read file");
return 0;
}
//根节点
Element root = doc.getRootElement();
System.out.println("4444444444444444");
if( root == null )
{
System.out.println("getRootElement");
return 0;
}
Element foo;
System.out.println("55555555555555555");
//子节点遍历
for (Iterator i = root.elementIterator("ROW"); i.hasNext();){}
如果是在weblogic服务器上读取文件的话,没有任何问题,但是若是在远程方式读取的话,就会出现如下错误。
0000000000
111111111111
2222222222222222
org.dom4j.DocumentException: C:\test11.xml: ????????????????? Nested exception:
C:\test11.xml: ?????????????????
at org.dom4j.io.SAXReader.read(Ljava.io.File;)Lorg.dom4j.Document;(SAXRe
ader.java:266)
at com.xindeco.presentation.graduatedemand.RealDemandServlet.ReadFromXML
(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;
Ljava.util.ArrayList;Ljava.lang.String;Ljava.lang.String;I)I(RealDemandServlet.j
ava:282)
at com.xindeco.presentation.graduatedemand.RealDemandServlet.imp_import(
Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)
V(RealDemandServlet.java:200)
at com.xindeco.presentation.common.AbstractServlet.service(Ljavax.servle
t.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(AbstractSer
vlet.java:191)
at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;
Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
()Ljava.lang.Object;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.Filte
rChainImpl;)V(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run()Ljava.lang.Object;(WebAppServletContext.java:6456)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.se
curity.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Objec
t;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.ac
l.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSub
ject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:11
8)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogi
c.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponse
Impl;)V(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel
.ExecuteThread;)V(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest
;)V(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Sourc
e)