I might be missing the point here but....

Why is the file encoded in CCSID 37?

That's obviously not the encoding that the Properties object is expecting.

Can't you just change the encoding of the file?

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Gary L Peskin
Sent: 04 May 2009 21:03
To: 'Java Programming on and around the iSeries / AS400'
Subject: RE: Brain cramp: reading an IFS file from program running on PC

Looking at the javadoc, IFSTextFileInputStream doesn't override any of the
methods of its parent IFSFileInputStream so I don't see how the "read"
methods invoked by Properties.load() can do anything other than what the
IFSFileInputStream does. Like any InputStream, IFSFileInputStream does no
charset conversion. All that IFSTextFileInputStream does over
IFSFileInputStream is add the read(length) method. The
DavidIFSTextFileInputStream overrides the "read" methods to use the
read(length) method to do what you want.

Gary

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-
bounces@xxxxxxxxxxxx] On Behalf Of David Gibbs
Sent: Monday, May 04, 2009 12:33 PM
To: Java Programming on and around the iSeries / AS400
Subject: Re: Brain cramp: reading an IFS file from program running on PC

Gary L Peskin wrote:
Oh, I think I see what you're talking about now. Properties.load()
assumes
that its argument is a stream using ISO 8859-1 encoding which is a kind
of
ASCII. Your input stream ("is") is presenting characters based on the
native byte representation on the 400 since InputStreams don't take the
CCSID into account. I think you can create your own input stream class
to
accomplish what you want. I haven't tested this (or even compiled it)
so
take that into account. Also, you'd need to make adjustments where the
CCSID was not a single byte character set.

This is what I assumed the IFSTextFileInputStream class would do. Reading
from a text file in Java should convert from EBCDIC to Unicode
automatically.

Otherwise it seems to be a waste of code.

I'm 95% sure it DOES do that ... but I just can't figure out what I'm
doing
wrong.

david


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.