Converter (Text File to String type data)
This item overwrites the value of String type data item with the contents of a text file stored in File type data item.
Configs
  • C1: File type data item that stores the target text file *
  • C2: String type data item to save the text data *
Configs: Common
  • Step Name
  • Note

Capture

See also

Script (click to open)
  • An XML file that contains the code below is available to download
    • converter-textfile-to-string.xml (C) Questetra, Inc. (MIT License)
    • If you are using Professional, you can modify the contents of this file and use it as your own add-on


main();
function main() {
  //// == Config Retrieving / 工程コンフィグの参照 ==
  const textFileDataNum = configs.get("File_DataId");
  const stringDataNum = configs.get("String_DataId");

  //// == Data Retrieving / ワークフローデータの参照 ==
  const myFiles = engine.findDataByNumber(textFileDataNum);
  // java.util.ArrayList
  
  //// == Data Updating / ワークフローデータへの代入 ==
  updateData(stringDataNum, myFiles);
}

/**
 * ファイルの内容を文字型データ項目に上書き出力
 * @param {String} stringDataNum 保存先文字型データ項目の番号
 * @param {java.util.ArrayList<QfileView>} myFiles ファイル型データの配列
 */
function updateData(stringDataNum, myFiles) {
  // ファイル型データに複数添付されている場合、エラー
  if (myFiles !== null && myFiles.size() > 1) {
    throw new Error("Attachment of multiple files can not be supported.");
  }

  let myFileText = "";
  // ファイル型データにファイルが1つ添付されている場合
  if (myFiles !== null) {
    fileRepository.readFile(myFiles.get(0), "UTF-8", function (line) {
      myFileText += line + "\n";
    });
  }
  // com.questetra.bpms.core.event.scripttask.FileRepositoryWrapper

  //// == Data Updating / ワークフローデータへの代入 ==
  // ファイル型データ項目にファイルが1つ添付されている場合はその値、1つも添付されていない場合は空をセット
  engine.setDataByNumber(stringDataNum, myFileText);
}


%d bloggers like this: