私の関数では、これらの指示に従って、新しく作成されたファイルを開き、データを書き込みたいと考えています。これが私のコードです:
function writeDataToFile(newFile) {
try {
console.log("[Matin] writeDataToFile started...");
if(newFile != null) {
newFile.openStream('a', onOpenStream, function(error) {
console.log("[Matin] Could not create the file.");
console(error);
}, "UTF-8");
function onOpenStream(fs) {
console.log("[Matin] New file is opened.");
fs.write("Hello ---------- Data Goes Here ----------");
fs.write(JSON.stringify(dataToFile));
console.log("[Matin] this is the data to be written>>>\n" + JSON.stringify(dataToFile));
fs.close();
dataToFile = null;
newFile = null;
console.log("[Matin] Data is written into the file, and temporal variables are set to null.");
};
} else {
console.log("[Matin] no file here to write into!...");
}
console.log("[Matin] writeDataToFile ended!!!");
} catch (exception) {
console.log("[Matin] [Exception] " + exception.message);
}
}
これは、関数の実行から取得したログです。すべてがうまく見えます:
js/managers/exportManager.js (295) :[Matin] writeDataToFile started...
js/managers/exportManager.js (314) :[Matin] writeDataToFile ended!!!
js/managers/exportManager.js (303) :[Matin] New file is opened.
js/managers/exportManager.js (305) :[Matin] this is the data to be written>>>
[{"steps":null,"heartrate":null,"accelX":"-0.9709117078781128","accelY":"3.4513116836547852","accelZ":"8.347122440338135",...]
js/managers/exportManager.js (309) :[Matin] Data is written into the file, and temporal variables are set to null.
しかし、問題は、ファイルを見ると、何も書き込まれていないことです! ファイルにはデータがありません。行さえありませんHello ---------- Data Goes Here ----------
。考えられる理由は何ですか?ありがとう。
更新
機能は完全に正常に機能し、ファイルは正しく保存されます。ただし、ファイルを読み取るには、時計を再起動する必要があります。そうしないと、空のファイルが表示されます。