Ich habe ein Skript, das Daten von einer API in einige Dateien schreibt. Ich habe ein Objekt das die Datei-Deskriptoren für jede Datei enthält:fs.readFileSync gibt immer leere Zeichenfolge zurück
var csvFds = {
'file1' : null,
'file2' : null,
'file3' : null,
'file4' : null
};
for (var file in csvFds) {
var dirPath = __dirname + '/files/' + file;
try {
fs.statSync(dirPath);
}
catch (e) {
mkdirp.sync(dirPath, {mode: 0755});
}
csvFds[file] = fs.openSync(dirPath + '/' + moment().format("YYYY-MM-DDTHH:mm:ss[Z]") + '.csv', 'a+');
}
Dann habe ich einige Code, der fs.write verwendet Linien csv in die Datei in Chargen zu schreiben. Dieser Teil funktioniert gut. Ich habe gut ausgebildete CSV-Dateien. Jetzt muss ich den Inhalt der gesamten Datei als String lesen. Dies ist, wie ich es versuche:
Aber aus irgendeinem Grund bekomme ich immer eine leere Zeichenfolge. Ich habe bestätigt, dass fs.readFileSync tatsächlich einen Puffer zurückgibt, indem ich console.log verwende und die Methode toString() ablege.
Ich bin wirklich fest auf dieser so jede Hilfe wird sehr geschätzt werden. Danke im Voraus. Hier einige zusätzliche Informationen in Bezug auf meine Knoten Version und OS:
$ node -v
v6.2.3-pre
$ uname -a
Darwin i-2.local 14.5.0 Darwin Kernel Version 14.5.0: Thu Jun 16 19:58:21 PDT 2016; root:xnu-2782.50.4~1/RELEASE_X86_64 x86_64
Wenn Sie die 'readFileSync'-Methode codieren, erhalten Sie eine Zeichenfolge anstelle eines' Buffer' – mic4ael