Skip to main content Skip to complementary content
  • New archived content: Talend MDM, Talend Data Catalog 8.0, and Talend 7.3 products reached their end of life in 2024. Their documentation was moved to the Talend Archive page and will no longer receive content updates.
Close announcements banner

Checking for the presence of a file and creating it if it does not exist

This scenario describes a simple Job that: checks if a given file exists, displays a graphical message to confirm that the file does not exist, reads the input data in another given file and writes it in an output delimited file.

A dialog box appears to confirm that the file does not exists.

Click OK to close the dialog box and continue the Job execution process. The missing file, file1 in this scenario, got written in a delimited file in the defined place.

Dropping and linking the components

Procedure

  1. Place the following components from the Palette onto the design workspace:
    • tFileExist,
    • tFileInputDelimited,
    • tFileOutputDelimited,
    • tMsgBox.
  2. Connect tFileExist to tFileInputDelimited using an OnSubjobOk and to tMsgBox using a Run If link.
    Components connection.
  3. Connect tFileInputDelimited to tFileOutputDelimite using a Row Main link.

Configuring the components

Procedure

  1. In the design workspace, select tFileExist and click the Component tab to define its basic settings.
    Basic settings view for tFileExist.
  2. In the File name field, enter the file path or browse to the file you want to check if it exists or not.
  3. In the design workspace, select tFileInputDelimited and click the Component tab to define its basic settings.
    Basic settings view for tFileInputDelimited.
  4. Browse to the input file you want to read to fill out the File Name field.
    Information noteWarning:

    If the path of the file contains some accented characters, you will get an error message when executing your Job.

  5. Set the row and field separators in their corresponding fields.
  6. Set the header, footer, and number of processed rows as needed.
    In this scenario, there is one header in your table.
  7. Set Schema to Built-in and click the Edit schema button to define the data to pass on to the tFileOutputDelimited component. Define the data present in the file to read, file2 in this scenario.
    For more information about schema types, see Built-in schema and Repository schema.
    Schema for file2.
    The schema in file2 consists of five columns: Num, Ref, Price, Quant, and tax.
  8. In the design workspace, select the tFileOutputDelimited component.
  9. Click the Component tab to define the basic settings of tFileOutputDelimited.
    Basic settings view of tFileOutputDelimited.
  10. Set property type to Built-in.
  11. In the File name field, press Ctrl+Space to access the variable list and select the global variable FILENAME.
  12. Set the row and field separators in their corresponding fields.
  13. Select the Include Header check box as file2 in this scenario includes a header.
  14. Set Schema to Built-in and click Sync columns to synchronize the output file schema (file1) with the input file schema (file2).
    Synchronization between file1 and file2.
  15. In the design workspace, select the tMsgBox component.
  16. Click the Component tab to define the basic settings of tMsgBox.
    Basic settings view of tMsgBox.
  17. Click the If link to display its properties in the Basic settings view.
  18. In the Condition panel, press Ctrl+Space to access the variable list and select the global variable EXISTS.
    Type an exclamation mark before the variable to negate the meaning of the variable.
    Basic settings view of If.

Saving and executing the Job

Procedure

  1. Press Ctrl+S to save your Job.
  2. Press F6 or click the Run button in the Run tab to execute it.
    Job results.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!