Capturing Program Output

I have a program in which I want to capture the output generated when I run the class. The function is off in another java file that I have imported into this one. Some of the code is below.
Tester controllerTester = new Tester();
controllerTester.runtest(testArray);
runtest outputs information via System.out.println and I am wanting to capture that information. How do I go about doing this? I have sucessfully captured output in another program that executes an external program with the Process p = Runtime.getRuntime().exec(program) command. I just need to know how to capture the output from runtest above. Any help would be appreciated.
Thanks...Chris

Runtime.getRuntime().exec(program) command. I just
need to know how to capture the output from runtest
above. Any help would be appreciated.[url http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#setOut(java.io.PrintStream)]System.setOut(PrintStream) might be of help. Though it'll capture any output to system out, not only that produced by the method you mention (no problem if the code is executed in a single-threaded environment).

Similar Messages

  • How to capture graphical outputs from other programs

    Does anyone know how we capture the graphical outputs from the other programs and show them
    on the swing?
    I'd like to use a java program to run gnuplot, capture the outputs, and show them using swing.

    Depends on what you mean by "graphic outputs".
    Taking a quick glance at the gnuplot homepage, it looks as if you can output to PNG files, so just run the app, and load the png file.

  • How to capture the output of another program into a File/String

    I needed to capture the output of a dos program in an String/file I tried doing Runtime.getRuntime.exec("ipconfig /all >tmp.txt");
    but still I am unable to capture the output frm the program which I would like to capture in a file or String.Can anyone help

    When you use the Runtime.exec() method, it returns a Process object, that process object has access to the streams; stdout, stdin, and stderr of the application you just executed. what you'll want to monitor is the stdout or stderr streams using the
    p.getInputStream() or p.getErrorStream(), where p = the process object returned via the Runtime.exe() method.

  • Unable to Capture ALV output in an Internal Table, after CALL TRANSACTION

    Dear all,
    My requirement is to run multiple materials in T-code CK86_99 but as we know CK86_99 is only adequate to one material at a time.
    So, I want to capture the Output of the T-code in my Internal table with respect to all the Material Numbers I use in the Select-Options of my Z Program.
    Below is the Code I developed so far, but the Class
    cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING r_data = lf_ref ).
    is not capturing the Ouput...
    Please have a look and enlighten me how it could be solved.
    TABLES : mara.
    DATA : BEGIN OF wa_mara,
      matnr TYPE mara-matnr,
      END OF wa_mara.
    DATA: it_bdcdata TYPE TABLE OF bdcdata,
          wa_it_bdcdata LIKE LINE OF it_bdcdata,
          it_mara LIKE TABLE OF wa_mara.
    *      BELNR(10).
    FIELD-SYMBOLS:<fs_tab> TYPE ANY TABLE,
    <fs_line> TYPE any.
    DATA:lf_ref TYPE REF TO data,
         lf_ref1 TYPE REF TO data.
    SELECT-OPTIONS so_matnr FOR mara-matnr.
    PARAMETERS p_werks LIKE t001w-werks.
    *BELNR = 'Z92'. " Give Document Number here
    SELECT matnr FROM mara INTO TABLE it_mara WHERE matnr IN so_matnr.
    DATA opt TYPE ctu_params.
    LOOP AT it_mara INTO wa_mara.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-program  = 'SAPMKKB0'.
    wa_it_bdcdata-dynpro   = '0300'.
    wa_it_bdcdata-dynbegin = 'X'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_CURSOR'.
    wa_it_bdcdata-fval = 'KKB0-MATNR'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'KKB0-MATNR'.
      wa_it_bdcdata-fval = wa_mara-matnr.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_CURSOR'.
    wa_it_bdcdata-fval = 'KKB0-WERKS'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
      wa_it_bdcdata-fnam = 'KKB0-WERKS'.
    wa_it_bdcdata-fval = p_werks.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    wa_it_bdcdata-fval = 'OSNY'."'ONLI'."=CRET'.
      APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-program  = 'SAPLKKRSOO'.
    * wa_it_bdcdata-dynpro   = '0100'.
    * wa_it_bdcdata-dynbegin = 'X'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    *  wa_it_bdcdata-fval = 'BACK'."=CRET'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-program  = 'SAPMKKB0'.
    * wa_it_bdcdata-dynpro   = '0300'.
    * wa_it_bdcdata-dynbegin = 'X'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    * wa_it_bdcdata-fval = 'EXIT'."=CRET'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
      opt-dismode = 'N'.
    cl_salv_bs_runtime_info=>set(
        EXPORTING display  = abap_false
                  metadata = abap_true
    data     = abap_true ).
      CALL TRANSACTION 'CK86_99' USING it_bdcdata OPTIONS FROM opt.
      TRY.
    cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING r_data = lf_ref ).
          ASSIGN lf_ref->* TO <fs_tab>.
        CATCH cx_salv_bs_sc_runtime_info.
          MESSAGE 'Unable to retrieve ALV data' TYPE 'E'.
      ENDTRY.
    cl_salv_bs_runtime_info=>clear_all( ).
      IF <fs_tab> IS ASSIGNED.
        CREATE DATA lf_ref1 LIKE LINE OF <fs_tab>.
        ASSIGN lf_ref1->* TO <fs_line>.
      ENDIF.
    *LOOP AT <FS_TAB> ASSIGNING <FS_LINE>.
    *ENDLOOP.

    Hi Abhay,
          If you go to Transaction code SE93, enter the tcode "CK86_99" and click display, you may see the default value for transaction is "KKBB" and the screen field for P_SCREEN = 0300, P_TCODE = ck86_99.
          You may need to copy the transaction code "KKBB" and go to SE93 again, enter the tcode for "KKBB" then click display, now you may see the program name is "RKKB1000".
          Hope this answer your question.
    Thanks
    Hock Lin

  • Capturing the output of a os command line

    I need to capture the output of a os command line executed from one java program and I don't know how can do it.
    For example:
    Runtime.getRuntime().exec("hostid");

    Your suggestion worked very well, just in case that this could interest somebody, this is the complete solution
    Thanks for your help
    import java.io.*;
    public class HostID
    public static void main(String args[]){
    try{
    InputStream in = (Runtime.getRuntime().exec("hostid")).getInputStream();
    byte[] arreglo= new byte[200];
    int cantidad = in.read(arreglo);
    System.out.println(new String(arreglo,0,cantidad));
    } catch (IOException ioe){System.out.println(ioe.getMessage());}
    }

  • To capture the output

    Hi all ,
    I Wish You A Happy New Year!!!!!!!!
    I am trying to capture the output of a java program into a file i.e,when I run the java program at command prompt and get the output, the output must be automatically captured into a file is this possible using java code
    Please help me
    Thanks,
    raghu

    And Mac OS/X is a unix variant, so it works there too.
    You can also redirect standard output in Java itself by using System.setOut, but once you're altering the Java code, I'd suggest refactoring the code so that it doesn't send all its output to standard output necessarily.

  • Capture Program for Premier Pro

    I have CS5 Production Premium and two PCs.  I would like to use the 6-core for editing while using the 4-core for editing support, e.g. capture, while I am editing.  Unfortunately,  I am informed that I cannot use one licence for CS5 upgrade from CS4 on 2 computers at the same time, even if I also retained C4.  So to capture while editing, I need a separate capture program.
    What capture program is compatible with Premier Pro CS5?

    Thank you.  I have not progressed to the Cloud alternatives yet for my applications.  Other alternatives such as being offered by Microsoft for a Windows licence to lease on a yearly payment basis are interesting.  It appears that all updates and new releases might be available such that a large single financial output is avoided.  With this type of software licence, if it is no longer needed, its use can be terminated in the short term at lower cost.  I would jump at this opportunity with Adobe since I could use such a short term lease  for a stand alone Premier Pro CS5.  I could use its capture function for a year, perhaps find other functions of a second Premier Pro is useful, then decide how to continue in the future.  This type of marketing would include customers who find the initial cost of software such as Creative Studios and others out of their reach.  Perhaps unknown to me the Creative Cloud subscription is already doing this.

  • Getting Error While Attaching Concurrent Program Output PDF file for POAPPRV Workflow

    Hi All,
    I am getting the below error when I am trying to attach concurrent program output to the PO Approval Notification.
    An Error occurred in the following Workflow.
    Item Type = POAPPRV
    Item Key = 1040589-528378
    User Key =945871
    Error Name = WF_ERROR
    Error Message = [WF_ERROR] ERROR_MESSAGE=3835: Error '-20002 - ORA-20002: [WFMLR_DOCUMENT_ERROR]' encountered during execution of Generate function 'WF_XML.Generate' for event 'oracle.apps.wf.notification.send'. ERROR_STACK=
    Wf_Notification.GetAttrblob(3604701, ZZ_PREVIOUS_PO_COMPARE, text/html)
    WF_XML.GetAttachment(3604701, text/html)
    WF_XML.GetAttachments(3604701, http://oraerp.am.corp.xxxx.com:8099/pls/DEV, 11283)
    WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    Wf_Event.setMessage(oracle.apps.wf.notification.send, 3604701, WF_XML.Generate)
    Wf_Event.dispatch_internal()
    Error Stack =
    Activity ID = 190844
    Activity Label = AL_NOTIFY_APPROVER_PROCESS:ZZ_PO_PO_APPROVE_ATTCH
    Result Code = #MAIL
    Notification ID = 3604701
    There are several threads for this error however I cannot find any specific solution to the problem.
    Please find the code below -
        wf_engine.setitemattrdocument(itemtype=>itemtype,
                                      itemkey=> itemkey,
                                      aname=>'ZZ_PREVIOUS_PO_COMPARE',
                                      documentid =>'PLSQLBLOB:zz_po_reqapproval_init1.xx_notif_attachments/' || to_char(l_request_id_prev_po)||':'||to_char(l_document_num));
    -- here l_request_id_q_and_s is the request id of the program and l_document_num is the PO document number
    PROCEDURE xx_notif_attachments(p_request_id    IN VARCHAR2,
                                   p_document_num  IN VARCHAR2,
                                   p_document      IN OUT BLOB,
                                   p_document_type IN OUT VARCHAR2) IS
      v_lob_id          NUMBER;
      v_document_num    VARCHAR2(15);
      v_document_prefix VARCHAR2(100);
      v_file_name       VARCHAR2(500);
      v_file_on_os      BFILE;
      v_temp_lob        BLOB;
      v_dest_offset     NUMBER := 1;
      v_src_offset      NUMBER := 1;
      v_out_file_name   VARCHAR2(2000);
      v_conc_prog_name  VARCHAR2(500);
      v_conc_req_id     NUMBER;
      CURSOR get_output_file(p_concurrent_request_id NUMBER) IS
        SELECT cr.outfile_name, cp.concurrent_program_name
          FROM fnd_concurrent_requests cr, fnd_concurrent_programs_vl cp
         WHERE request_id = p_concurrent_request_id
           AND cp.concurrent_program_id = cr.concurrent_program_id;
    BEGIN
      --    set_debug_context('xx_notif_attach_procedure');
      v_conc_req_id  := to_number(substr(p_request_id,
                                         1,
                                         instr(p_request_id, ':') - 1));
      v_document_num := substr(p_request_id,
                               instr(p_request_id, ':') + 1,
                               length(p_request_id) - 2);
      OPEN get_output_file(v_conc_req_id);
      FETCH get_output_file
        INTO v_out_file_name, v_conc_prog_name;
      CLOSE get_output_file;
      v_out_file_name := substr(v_out_file_name,
                                instr(v_out_file_name, '/', -1) + 1);
      v_file_name     := to_char(v_document_num) || '-Previous_PO_Rev.pdf';
      utl_file.fcopy(src_location  => 'APPS_OUT_DIR',
                     src_filename  => v_out_file_name,
                     dest_location => 'PO_DATA_DIR',
                     dest_filename => v_file_name);
      --  v_lob_id := to_number(v_document_id);
      v_file_on_os := bfilename('PO_DATA_DIR', v_file_name);
      dbms_lob.createtemporary(v_temp_lob, cache => FALSE);
      dbms_lob.fileopen(v_file_on_os, dbms_lob.file_readonly);
      dbms_lob.loadblobfromfile(dest_lob    => v_temp_lob,
                                src_bfile   => v_file_on_os,
                                amount      => dbms_lob.getlength(v_file_on_os),
                                dest_offset => v_dest_offset,
                                src_offset  => v_src_offset);
      dbms_lob.fileclose(v_file_on_os);
      p_document_type := 'application/pdf;name=' || v_file_name;
      dbms_lob.copy(p_document, v_temp_lob, dbms_lob.getlength(v_temp_lob));
    EXCEPTION
      WHEN OTHERS THEN
        wf_core.CONTEXT('ZZ_PO_REQAPPROVAL_INIT1',
                        'xx_notif_attachments',
                        v_document_num,
                        p_request_id);
        RAISE;
    END xx_notif_attachments;
    Please help me find a to the above mentioned error.
    Thanks,
    Suvigya

    There are two ways to look at what error the PLSQLBLOB API is throwing.
    1) Call your PLSQLBLOB API GNE_PO_CREATE_FILE_ATTACHMENT.Gne_Create_File_Attachment directly from a PLSQL block and verify that it returns the BLOB data successfully.
    You could also call another WF API that in turn executes the PLSQLBLOB API internally. For example,
    <pre>
    declare
    l_document blob;
    l_doctype varchar2(240);
    l_aname varchar2(90);
    begin
    dbms_lob.CreateTemporary(l_document, true, dbms_lob.Session);
    -- 207046 - This is the notification id of your failed workflow
    -- PO_REPORT - Document type attribute
    -- 'text/html' - Content Type being generated for
    Wf_Notification.GetAttrBLOB(207046, 'PO_REPORT', 'text/html', l_document, l_doctype, l_aname);
    -- Print the size of the document here to verify it was fetched correctly
    end;
    </pre>
    2) Turn on log for SYSADMIN user with following attributes.
    Log Enabled = TRUE
    Log Level = ERROR
    Log Module = wf.plsql%
    Restart the Workflow Deferred Agent Listener and Workflow Notification Deferred Agent Listener and run your workflow process. Search for log messages written for above context and you can identify the error at wf.plsql.WF_XML.GetAttachment module with message starting as "Error when getting BLOB attachment ->"
    Hope this helps.
    Vijay

  • BI Publisher Charts not getting displayed in concurrent program output

    Hi,
    I am using BI Publisher version 11.1.1.3.0 on Windows 7 with word 2007. After creating the Bar chart in RTF template of BI publisher when I load sample XML data and check it in "Preview" is displays the output correctly.
    My requirement is to print the charts in concurrent program's output on EBS version 12.1.1. (preferably HTML but PDF will also do) However when I run the concurrent program which processes the data definition and the RTF template registered for this report, the output is just an image of the chart. The XML output generated by the program is not reflected in the chart display at all. (I have verified that XML is generated properly)
    Can someone please let me know if there is some setup required to make the charts display properly in concurrent program output?
    I have also tried BI publisher version 10.1.3.2.1 for this. With this the concurrent program output is just blank. Not even an image is displayed.
    p.s. The program uses standard executable XDODTEXE (which is normally used to run BI publisher reports)
    Thanks,
    Archana

    Hi,
    I have finally found solution to this issue....
    Two setups are required to display the charts in the concurrent program's PDF output:
    1. We need to edit the variables CLASSPATH and AF_CLASSPATH. These variables should have the complete path added for the xdoparser.zip file on the server.
    2. The DISPLAY variable should be correctly setup to direct the server output.
    Also as per my findings so far, the BI (XML) publisher version 11.1.1.3.0 (or any 11g) does not work with EBS (at least for charts). We need to use BI publisher version which is XML 5.6.3 compatible for EBS. This version is 10.1.3.2.1. (patch 12395372) Now this 10g version does not work on Windows 7 so you need to use Windows XP!
    With this... finally... your charts should be getting displayed in EBS output...
    Cheers!! :-)
    Archana

  • How do I connect two video cameras to my computer have them both show up on the desktop at the same time so I can see and capture both images using a screen capture program?

    Hello, 
    I am a teacher and want to make some videos to post online for my class.  I would like to have it set up so that I have a powerpoint presentation going, a video camera pointing at a piece of paper I can write on and another video camera pointing at me.  How do I do this?  I have seen several solutions but they seem to be for switching between videos whereas I want both video images to be on at the same time.
    Also, is there a screen capture program you would recommend?

    Go to System Preferences - Sharing and change the computer name there. You can also, optionally, change the name of your hard drive to further clarify the origin of your backups. Click once on the "Macintosh HD" on your desktop, then click its name to allow you to edit it.
    Matt

  • Current Concurrent Program Output permissions

    Hi,
    I am working on Oracle Applications 11.5.10
    Is it possible to send the concurrent program output of the current running program as a mail ? Or does the output file become available for reading once the whole program completes ?
    I am writing the errors encountered during the current program into the output file for the current program. At the end of the program, I am calling a shell script to send the output file in mail. However I am getting an error message saying file not found or no permission on file. So wanted to know if I am doing the right thing. Or should I call the mail notification only once the whole program completes.
    I tried to search the forum, but no where its mentioned if anyone is trying to access output file of currently running program. It will be great if someone can share their knowledge.
    Thanks,
    Sou

    Hi;
    Please check thread
    Concurrent Request Output with e-mail
    Re: concurrent ouput to email
    Regard
    Helios

  • How to send concurrent program output file as an attachment in the notification mail

    Hi All,
    We are on Oracle apps version - 11.5.10.2
    We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
    Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
    But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
    Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
    Please Note - We do not want any custom code to be written to send the attachment.
    Any pointers to this will be helpful.
    Regards,
    Shruti

    Hi All,
    We are on Oracle apps version - 11.5.10.2
    We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
    Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
    But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
    Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
    Please Note - We do not want any custom code to be written to send the attachment.
    Any pointers to this will be helpful.
    Regards,
    Shruti

  • Since upgrade to Mountain Lion my scanner and Image Capture program will not work ( have a Canon MP980 printer/scanner). How do I correct?

    I recently installed Mountain Lionn on my iMac. After installing the Image Capture program no longer allowed me to  scan - I immediately received an error message. Even when I tried to scan directly from the printer/scanner (Canon MP980) I received the same message. Scanner worked fine with 'Lion' How do I correct this problem now?

    http://www.usa.canon.com/cusa/support/consumer/printers_multifunction/pixma_mp_s eries/pixma_mp980#DriversAndSoftware.

  • Capturing the output of a jsp page and save that output in a WORD .doc file

    Hi,
    This is Naveen. I got stuck up with a problem/doubt. URGENT ! URGENT !
    My doubt is how to capture the output of a jsp page(the content is dynamic generated) and save that output to a MS-Word doc file.
    I know that therez an option of using Servlets Filters, but this concept is supported by Servlet 2.3 spec. and not earlier. And we are working on previous spec. and our web-servers also supports the prev. version and not the 2.3 version.
    If incase, therez a third-party utility for free usage, suggestions are appreciated.
    Hope most of them came across this kind of functional requirement. If anyone of them succeeded in this, please express ur bitter experience if any, faced during the coding.
    Thanks in Advance for help.
    Naveen

    You can set the MIME content type as .doc and try to open the Page.
    res.setContentType("application/vnd.ms-excel"); to generate the Page output as Excel
    res.setContentType("application/vnd.ms-word"); to generate the Page output as MS Word doc
    Hope this helps..

  • Problem: program outputs numbers in scientific notation

    my problem is that my program outputs the population in scientific notation instead of round the number to the nearest one. ex: it should say 30787949.57 instead of 3.078794957 E7
    // Calculates the poulation of Mexico City from 1995 to 2018.
    // displays the year and population
    class PopulationCalculator {
    static double r2(double x) {
         //this method rounds a double value to two decimal places.
    double z=((double)(Math.round(x*100)))/100;
    return z;
    } //end method r2
    public static void main(String args[]) {
         double population=15600000.0;
         double rate=0.03;
         System.out.println("Mexico City Population, rate="+r2(rate));
         System.out.println("Year    Population");
         for (int year=1995; year<=2018;year++)  {
             System.out.println(year+ "    "+r2(population));
        population+=rate*population;
        }//end for loop
        System.out.println("The population of Mexico City reaches 30 million on 02/13/17 at 5:38:34am");
        }//end main
        }//end PopulationCalculator
    {code/]

A: problem: program outputs numbers in scientific notation

Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
    public static void main(String[] args) {
        double d = 30787949.57d;
        System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR   java A
    30 787 949,57
$ LC_ALL=en_NZ   java A
    30,787,949.57
$ LC_ALL=it_IT     java A
    30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter

Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
    public static void main(String[] args) {
        double d = 30787949.57d;
        System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR   java A
    30 787 949,57
$ LC_ALL=en_NZ   java A
    30,787,949.57
$ LC_ALL=it_IT     java A
    30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter

Maybe you are looking for