
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.
Basic Configs
- Step Name
- Note
Configs for this Auto Step
- File_DataId
- C1: Data item that stores the target text file *
- conf_ReadFileCharset
- C2: If charset is specified in Content-Type, give priority to it
- conf_CharacterEncoding
- C3: Character encoding when reading (UTF-8 if not selected)
- String_DataId
- C4: Data item to save the text data *
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 auto step
main();
function main() {
//// == Config Retrieving / 工程コンフィグの参照 ==
const textFileDataNum = configs.get("File_DataId");
const stringDataNum = configs.get("String_DataId");
const readFileCharset = configs.getObject("conf_ReadFileCharset");
const characterEncoding = configs.get("conf_CharacterEncoding");
//// == Data Retrieving / ワークフローデータの参照 ==
const myFiles = engine.findDataByNumber(textFileDataNum);
// java.util.ArrayList
// ファイル型データ項目にファイルが1つも添付されていない場合、文字型データ項目にnull をセット
if (myFiles === null) {
engine.setDataByNumber(stringDataNum, null);
return;
}
// ファイル型データ項目に複数添付されている場合、エラー
if (myFiles.size() > 1) {
throw new Error("Attachment of multiple files can not be supported.");
}
// ファイル型データ項目にファイルが1つ添付されている場合
//// == Determine Charset / charset を決める ==
const charset = determineCharset(myFiles.get(0), readFileCharset, characterEncoding);
//// == Data Updating / ワークフローデータへの代入 ==
updateData(stringDataNum, myFiles, charset);
}
/**
* ファイルの内容を文字型データ項目に上書き出力
* @param {String} stringDataNum 保存先文字型データ項目の番号
* @param {java.util.ArrayList<QfileView>} myFiles ファイル型データの配列
* @param {String} charset 文字コード
*/
function updateData(stringDataNum, myFiles, charset) {
let myFileText = "";
fileRepository.readFile(myFiles.get(0), charset, function (line) {
myFileText += line + "\n";
});
//// == Data Updating / ワークフローデータへの代入 ==
engine.setDataByNumber(stringDataNum, myFileText);
}
/**
* 文字コードを決定する
* @param {QfileView} myFile ファイル型データ項目
* @param {boolean} readFileCharset Content-Type のcharset で読み込むか
* @param {String} characterEncoding 読み込む際の文字コード
* @return {String} charset 文字コード
*/
function determineCharset(myFile, readFileCharset, characterEncoding) {
const charset = myFile.getCharset();
if (readFileCharset === true && charset !== null) {
return charset;
}
if (characterEncoding === null || characterEncoding === "") {
return 'UTF-8';
}
return characterEncoding;
}
Pingback: Questetra-Addon-XML Generate Digest-HTML – Questetra Support
Pingback: Google Drive: GFile, Export as Text – Questetra Support
Pingback: Text Files, Convert Character Encoding – Questetra Support
Pingback: TSV String, Convert – Questetra Support
Pingback: Converter, CSV-String to TSV-String – Questetra Support