× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi, David --

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.

public class DavidsIFSFileInputStream
extends IFSTextFileInputStream
{
public DavidsIFSFileInputStream(IFSFile file)
throws AS400SecurityException, IOException
{
super(file);
}

public int read()
throws IOException
{
String s = read(1);
if (s.length() == 0)
{
return -1;
}
else
{
return s.getBytes()[0];
}

public int read(byte[] data, int dataOffset, int length)
throws IOException
{
String s = read(length);
if (s.length() == 0)
{
return -1;
}
int len = s.length();
System.arraycopy(s.getBytes(), 0, data, dataOffset, len);
return len;
}

public int read(byte[] data)
throws IOException
{
return read(data, 0, data.length);
}
}

HTH,
Gary


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.