I'm Trying to read AS400 Spooled file in JAVA. I read it using this code. but problem is it's retrieve only one page details of that Spooled file. But i want to read and get all pages details. Any one know how to do it ?
Thanks in Advance!
CODE :
try {
jTextArea1.setText(null);
DefaultTableModel DTM =(DefaultTableModel) jTable1.getModel();
int SR = jTable1.getSelectedRow();
String SPLFNAME = (String) DTM.getValueAt(SR, 0);
String SPLFNUMBERT = (String) DTM.getValueAt(SR, 1);
String JOBNAME = (String) DTM.getValueAt(SR, 3);
String JOBUSER = (String) DTM.getValueAt(SR, 4);
String JOBFNUMBER = (String) DTM.getValueAt(SR, 5);
int SPLNO = Integer.parseInt(SPLFNUMBERT);
AS400 sys = new AS400();
SpooledFile sf = new SpooledFile( sys, // AS400
SPLFNAME, // splf name
SPLNO, // splf number
JOBNAME, // job name
JOBUSER, // job user
JOBFNUMBER ); // job number
PrintParameterList printParms = new PrintParameterList();
printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT, "/QSYS.LIB/QWPDEFAULT.WSCST");
printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST");
// Create a page input stream from the spooled file
PrintObjectPageInputStream is = sf.getPageInputStream(printParms);
BufferedReader d = new BufferedReader(new InputStreamReader(is));
String data ="";
while((data = d.readLine() )!=null)
{
System.out.println (data);
jTextArea1.setText(jTextArea1.getText()+"\n"+data);
}
} catch (Exception e) {
System.out.println(e);
}
The PrintObjectPageInputStream class has a nextPage() method to move to the next page.
BufferedReader d = new BufferedReader(new InputStreamReader(is));
String data = "";
do {
while((data = d.readLine()) != null)
{
System.out.println (data);
jTextArea1.setText(jTextArea1.getText()+"\n"+data);
}
} while (d.nextPage());
Use PrintObjectTransformedInputStream to read an entire spooled file without paging.