|
Dan -- If your byte array is in ASCII (from an ASCII IFS file), then your output will also be encoded in ASCII, as you are seeing. You need to convert that byte array to EBCDIC in order to write EBCDIC using IFSFileOutputStream.write(byte[]). If it's just a string of text, you might want to use IFSTextFileOutputStream.write(new String(byte[])), especially if performance is not a big issue. If the record structure is more complicated, you probably want to use SequentialFile and record level access. Gary > -----Original Message----- > From: java400-l-bounces@xxxxxxxxxxxx > [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Daniel Feather > Sent: Monday, February 16, 2004 7:48 AM > To: Java Programming on and around the iSeries / AS400 > Subject: RE: IFS file to PF Member > > > Thanks for your response and sorry for my slow response. I > got sick last week. Anyway, I am filling the byte array > directly from an IFSFileInputStream. > > I am using the IFSFileOutputStream to write to a PF member > because it worked. I was not aware of the other classes you > spoke of. I will see if those will do the conversion I need > them to do. Thanks for the info. > > Dan Feather > Silhouette/PinPoint R&D Programmer > Jack Henry & Associates, Inc. > dfeather@xxxxxxxxxxxxx > > -----Original Message----- > From: java400-l-bounces@xxxxxxxxxxxx > [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Gary L Peskin > Sent: Wednesday, February 11, 2004 9:42 PM > To: 'Java Programming on and around the iSeries / AS400' > Subject: RE: IFS file to PF Member > > The CCSID argument in the constructor only controls how the > resulting IFS file is tagged in its attributes. The actual > byte array is written to the file. How are you creating that > byte array? Remember that the iSeries JVM is an ASCII JVM so > if you're doing something like "astring".getBytes(), you'll > get a byte array with ASCII encoding. > > Also, why are you using an IFSFileOutputStream to write to a > PF member? > > Consider using an IFSTextFileOutputStream or SequentialFile. > > HTH, > Gary > > > -----Original Message----- > > From: java400-l-bounces@xxxxxxxxxxxx > > [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Daniel Feather > > Sent: Wednesday, February 11, 2004 2:25 PM > > To: java400-l@xxxxxxxxxxxx > > Subject: IFS file to PF Member > > > > > > Hello, > > I need to copy the contents of an ASCII file from the > > IFS to a PF member. I am using the IFSFileInput and Output > > streams, and I set the CCSID on the output stream to 37, > > which after reading some of the entries in the archive is > > EBCDIC. However, no matter what I set the CCSID on the output > > stream to, it always writes the data as ASCII. When I do a > > wrklnk on the pf member, and take an 8, it shows the member > > having ccsid 37, but when I view it using DSPPFM it is all > > garbage, so I view it via wrklnk and it gives me a little > > message at the bottom saying "File CCSID not valid" and > > displays it correctly, which I guess means it is still ASCII. > > > > What am I missing here? Is it possible to get this to > > work the way I want? We are currently using FTP to do this, > > but we want to be able to shut-down the ftp service on our > > box for security reasons. I searched the archives and came > > across some similar questions, but everything I have tried so > > far based on what I have read, hasn't worked. I appreciate > your help! > > > > Dan Feather > > Silhouette/PinPoint R&D Programmer > > Jack Henry & Associates, Inc. > > dfeather@xxxxxxxxxxxxx
As an Amazon Associate we earn from qualifying purchases.
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.