用IBM的JDK不会出现的问题,但用SUN的JDK会出现的问题

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

File file = new File("D:/test/date.xml");

org.w3c.dom.Document document = builder.parse(file);

sunJDK,当这段代码解析错误时,应该程序没结束,date.xml文件是无法删除的。

这时应该采用下面这种方式,在finally里面把流关闭。就可以在应用程序运行中把date.xml删除。

InputStream  is = new BufferedInputStream(new FileInputStream(file));

org.w3c.dom.Document document = builder.parse(is);

你可能感兴趣的:(jdk)