[jdom-interest] XMLOutputter clipping text ... a bug?

Jason Hunter jhunter at xquery.com
Fri Mar 5 17:01:15 PST 2004


That's a byte order mark, used in UTF-8 output.

-jh-

William Krick wrote:

> Ok, more strangeness...
> 
> I opened the output file in a hex editor.
> 
> There are two characters before my ascii XML begins:  FF FE  (in hex)
> 
> This makes no sense at all.
> 
> ...
> Krick
> 
> 
> 
> 
> -----Original Message-----
> From: jdom-interest-admin at jdom.org
> [mailto:jdom-interest-admin at jdom.org]On Behalf Of William Krick
> Sent: Friday, March 05, 2004 6:29 PM
> To: Jason Hunter
> Cc: jdom-interest at jdom.org
> Subject: RE: [jdom-interest] XMLOutputter clipping text ... a bug?
> 
> 
> I modified my sample code to fill a buffer directly from the FileInputStream
> and then write it directly to the FileOutputStream, eliminating the
> XMLOutputter from the equasion.  It works correctly.  So the problem has
> something to do with the way XMLOutputter talks to FileOutputStream...
> 
> 
>     String fileName = "test.xml";
>     File f = null;
>     int c;
>     int[] buffer = new int[4096];
>     int size = 0;
> 
>     //load the data from the xml file
>     FileInputStream fis = null;
>     try {
>       f = new File(fileName);
>       fis = new FileInputStream(f);
> 
>       int i=0;
>       while ((c = fis.read()) != -1) {
>         buffer[i] = c;
>         i++;
>       }
>       size = i;
>     }
>     catch (Exception ex) {
>     }
>     finally {
>       try { fis.close(); } catch (Exception ex) {}
>     }
> 
>     // write the data back out to the file
>     FileOutputStream fos = null;
>     try {
>       f = new File(fileName);
>       fos = new FileOutputStream(f);
> 
>       int i=0;
>       while (size-i > 0) {
>         fos.write(buffer[i]);
>         i++;
>       }
>     }
>     catch (Exception ex) {
>     }
>     finally {
>       try { fos.close(); } catch (Exception ex) {}
>     }
> 
> 
> 
> 
> -----Original Message-----
> From: jdom-interest-admin at jdom.org
> [mailto:jdom-interest-admin at jdom.org]On Behalf Of William Krick
> Sent: Friday, March 05, 2004 4:50 PM
> To: Jason Hunter
> Cc: jdom-interest at jdom.org
> Subject: RE: [jdom-interest] XMLOutputter clipping text ... a bug?
> 
> 
> It comes out fine in system out but not in the file.
> 
> If I send the output to a different file instead of the same file, it works
> correctly.
> 
> I would think that as long as I close the FileInputStream before I open the
> FileOutputStream, it should be okay using the same file.
> 
> I'm at a loss as to what the heck is happening here.
> 
> 
> 
> 
> -----Original Message-----
> From: jdom-interest-admin at jdom.org
> [mailto:jdom-interest-admin at jdom.org]On Behalf Of Jason Hunter
> Sent: Friday, March 05, 2004 4:42 PM
> To: William Krick
> Cc: jdom-interest at jdom.org
> Subject: Re: [jdom-interest] XMLOutputter clipping text ... a bug?
> 
> 
> I've never heard of this before.  I'm going to guess it has to do with
> your stream.  Dump it to System.out for another view.
> 
> -jh-
> 
> William Krick wrote:
> 
> 
>>Using JDOM b9, when I run an xml file...
>>
>>-----begin test.xml-----
>><?xml version="1.0" encoding="UTF-8"?><TEST>This is a test.</TEST>
>>------end test.xml------
>>
>>...through the following code...
>>
>>
>>    String fileName = "test.xml";
>>    File f = new File(fileName);
>>    Document doc = null;
>>
>>    //load the doc from the xml file
>>    SAXBuilder builder = new SAXBuilder();
>>    FileInputStream fis = null;
>>    try {
>>      fis = new FileInputStream(f);
>>      doc = builder.build(fis);
>>    }
>>    catch (Exception ex) {
>>    }
>>    finally {
>>      try { fis.close(); } catch (Exception ex) {}
>>    }
>>
>>    //
>>    // you would do stuff to the doc here
>>    //
>>
>>
>>    // write the doc back out to the file
>>    XMLOutputter fmt = new XMLOutputter();
>>    FileOutputStream fos = null;
>>    try {
>>      fos = new FileOutputStream(f);
>>      fmt.output(doc, fos);
>>    }
>>    catch (Exception ex) {
>>    }
>>    finally {
>>      try { fos.close(); } catch (Exception ex) {}
>>    }
>>
>>
>>... it comes out with the beginning of the text clipped like this...
>>
>>-----begin test.xml-----
>>ml version="1.0" encoding="UTF-8"?><TEST>This is a test.</TEST>
>>------end test.xml------
>>
>>
>>
>>Is this a bug or am I doing something wrong?  This is REALLY frustrating.
>>
>>...
>>Krick
>>
>>_______________________________________________
>>To control your jdom-interest membership:
>>
> 
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
> t.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
> t.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
> t.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
> t.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com
> 



More information about the jdom-interest mailing list