David:
Isn't CCSID 37 a North American flavor of EBCDIC? See
http://www-01.ibm.com/software/globalization/ccsid/ccsid37.jsp
I tried your program out on my property file and it worked fine.
However the code page of my property file is 1252.
I think the read() method of IFSTextFileInputStream (instead of
IFSFileInputStream) would converted from EBCDIC to Unicode.
Bill
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of David Gibbs
Sent: Monday, May 04, 2009 11:12 AM
To: Java Programming on and around the iSeries / AS400
Subject: Brain cramp: reading an IFS file from program running on PC
Folks:
I'm having a brain cramp ... what's wrong with this code?
I'm trying to load a properties file from the IFS to determine what, if
any, default java version a user has. The code is running on a PC.
----------
User user = new User(as400, as400.getUserId());
user.loadUserInformation();
String homedir = user.getHomeDirectory();
String propertiesFile = homedir + IFSFile.separatorChar +
"SystemDefault.properties";
IFSFile file = new IFSFile(as400, propertiesFile);
int ccsid = file.getCCSID();
Properties defaults = new Properties();
IFSFileInputStream is = new IFSFileInputStream(file);
defaults.load(is);
is.close();
String javaVersion = defaults.getProperty("java.version");
----------
The bytes I'm getting in the properties are correct ... but they are the
ebcdic values, not unicode.
The IFS file has a CCSID of 37.
Thanks!
david
As an Amazon Associate we earn from qualifying purchases.