解决方案 »

  1.   

    文件路径写错,这个会报上面的错
    package crawl.imp.bbs;
    import org.w3c.dom.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import java.io.*;
    public class XMLReader {
    public String ss()throws Exception{
    String sString="";
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
            DocumentBuilder builder=factory.newDocumentBuilder();
            Document document=builder.parse(new File("/errorbreak.xml");
            //Element root=document.getDocumentElement();
            NodeList nodelist=document.getElementsByTagName("error");
            int size=nodelist.getLength();
            String content=nodelist.item(0).getTextContent();       
            return content;
    }
    }
      

  2.   

    File file = new File("../errorbreak.xml");
    System.out.println(file.getAbsolutePath());
    获取绝对路径,到系统的这个路径看有没有你的文件,没有的话,再考虑如何到你文件的路径
      

  3.   

    谢谢大家的回复,这个主要我是部署在服务器上的项目,所以路径你能写死,今天早上纠结了会,把问题解决了。public String readBreak()throws Exception{

    String path = XMLReader.class.getClassLoader().getResource("").getPath(); 
            //XMLReader为本类名。动态获取路径,因为其他人服务器的路径不一样
    path=URLDecoder.decode(path,"utf-8");//处理java中获取路径中的空格变为%20的问题。
    path = path.substring(1, path.length());//消除获取的路径最前面"/"  
    path=path+"errorbreak.xml";//加上要读取的文件
            //System.out.println(path);
            
    String sString="";
            DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
            DocumentBuilder builder=factory.newDocumentBuilder();
            Document document=builder.parse(new File(path));
            NodeList nodelist=document.getElementsByTagName("error");
            int size=nodelist.getLength();
            String content=nodelist.item(0).getTextContent(); 
            return content;
    }