Ich spiele mit Node.js fs.writeFile()
Flags, um die richtige Datei für mein Problem zu finden: Ich möchte den Inhalt einer Datei ersetzen, sondern einen Fehler, wenn die Datei ist nicht vorhanden.Dateiinhalt ersetzen, ohne eine neue Datei mit Node.js zu erstellen
Mein erster Versuch war mit r+
aber ich habe Probleme, wenn der neue Inhalt kürzer als die alte ist:
fs.writeFileSync('test', '11111111111');
> 111111111111
fs.writeFileSync('test', '22', {flag: 'r+'})
> 221111111111
das Flag lösen das Problem (geben 22
) entfernen, aber eine neue Datei, wenn test
doesn erstellen Ich existiere nicht.
Ist es mit einer Flagge machbar oder muss ich Datei Existenz vor (nicht sehr gefunden davon) erkennen?
Ich wurde immer gesagt, die Datei zu testen, bevor ein Anti-Muster ist, weil es den Dateistatus nicht garantiert, wenn Sie schreiben. Ich habe vielleicht gleichzeitigen Zugriff auf diese Datei, also ist nicht die zweite besser? Danke – NorTicUs
Da ich die Datei überschreiben möchte, fand ich heraus, die beste Methode ist in der Tat löschen Sie es, achten Sie auf Fehler (wenn es nicht existiert), dann schreiben Sie es mit Standard-Flag. Vielen Dank – NorTicUs