FULL PRODUCT VERSION : java version "1.5.0-rc" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63) Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode, sharing) ADDITIONAL OS VERSION INFORMATION : Microsoft Windows XP [Version 5.1.2600] A DESCRIPTION OF THE PROBLEM : If I use a StreamResult(File) the file is not closed after calling the transform() method. The file could not be deleted (or renamed) until the JVM ends. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : Compile the example source and run the program. EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - Delete:true ACTUAL - Delete:false REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- import java.io.File; import java.io.IOException; import java.io.StringReader; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; public class Test { public static void main(String[] args) throws TransformerException, IOException { File test = new File("test.txt"); TransformerFactory tf = TransformerFactory.newInstance(); Transformer xformer = tf.newTransformer(); StringReader st = new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\"?><doc></doc>"); StreamSource s = new StreamSource(st); StreamResult r = new StreamResult(test); xformer.transform(s,r); System.out.println("Delete:"+test.delete()); } } ---------- END SOURCE ---------- ###@###.### 2005-1-11 18:31:27 GMT
|