Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-1978

Using StreamResult with File argument throws exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.6
    • 2.7
    • JAXP, Xalan-interpretive
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None
    • Windows 2000
      Java 1.5
    • PatchAvailable

    Description

      Source-Code:
      ============

      import java.io.*;
      import org.w3c.dom.Document;
      import javax.xml.parsers.DocumentBuilderFactory;
      import javax.xml.transform.TransformerFactory;
      import javax.xml.transform.stream.StreamResult;
      import javax.xml.transform.Source;
      import javax.xml.transform.dom.DOMSource;
      import javax.xml.transform.Result;
      import javax.xml.transform.Transformer;

      public class JDK5Test {
      public JDK5Test() {
      }

      public static void main(String[] args) {

      JDK5Test test = new JDK5Test();
      try

      { test.test1(); }

      catch (Exception ex)

      { ex.printStackTrace(); }

      }

      protected void test1()
      throws Exception

      { File destFile = new File("test.xml"); destFile.delete(); Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Source source = new DOMSource( doc ); Result result = new StreamResult( destFile ); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.transform(source, result); System.out.println("length=" + destFile.length() ); Thread.sleep(3000); System.out.println("length=" + destFile.length() ); }

      }

      StackTrace:
      ===========
      javax.xml.transform.TransformerException: java.io.FileNotFoundException: file:\C:\JDK5Test\test.xml (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
      at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:245)
      at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:278)
      at JDK5Test.test1(JDK5Test.java:43)
      at JDK5Test.main(JDK5Test.java:19)
      Caused by: java.io.FileNotFoundException: file:\E:\jbprojectX\JDK5Test\test.xml (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
      at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:235)
      ... 3 more
      ---------
      java.io.FileNotFoundException: file:\C:\JDK5Test\test.xml (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
      at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:235)
      at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:278)
      at JDK5Test.test1(JDK5Test.java:43)
      at JDK5Test.main(JDK5Test.java:19)

      Attachments

        1. patch.j1978.txt
          1 kB
          Henry Zongaro

        Activity

          People

            zongaro@ca.ibm.com Henry Zongaro
            toemmi Thomas Mathis
            Christine Li Christine Li
            Votes:
            9 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: