-
Bug
-
Resolution: Fixed
-
P3
-
5.0
-
1.4
-
x86
-
windows_xp
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2153477 | 7 | Joe Wang | P3 | Closed | Fixed | b15 |
JDK-2150213 | 6u4 | Joe Wang | P3 | Resolved | Fixed | b01 |
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
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
- backported by
-
JDK-2150213 StreamResult(File) does not close File after transform()
-
- Resolved
-
-
JDK-2153477 StreamResult(File) does not close File after transform()
-
- Closed
-