peoplesoftpeoplesoft-app-engine

Writing Output Files using CreateJavaObject in Peoplesoft


I am trying to write an application engine program which would generate an output file. My goal is to write this file by using the PeopleSoft function 'CreateJavaObject'. I tried this:

Local string &msg;
Local JavaObject &jFile, &writeFile;

&msg = "Hello World!";

&jFile = CreateJavaObject("java.IO.File", "c:\temp\log.txt");
&writeFile = CreateJavaObject("java.IO.BufferedWriter", &jFile);

&writeFile.writeFile(&msg);

When I run the application engine program, the program abends and the error is at the object java.IO.BufferedWriter which says incorrect argument passed.

Is there any way in peoplesoft where File I/O can be handled in using java functions.


Solution

  • I have fixed the issue. Here is the code

    Local JavaObject &jFile;
    Local JavaObject &msg;
    &msg = CreateJavaObject("java.lang.String", "Hello World!");
    
    Local JavaObject &buf = &msg.getBytes();
    Local number &byteCount = &buf.length;
    &jFile = CreateJavaObject("java.io.FileOutputStream", "C:\Temp\java.txt", True);
    &jFile.write(&buf, 0, &byteCount);
    &jFile.close();