Chcę usunąć zawartość prostego pliku tekstowego za pomocą node.js. Lub zastąp plik nowym/pustym.Node.js/Usuń zawartość w pliku
Jak mogę to osiągnąć w węźle?
Chcę usunąć zawartość prostego pliku tekstowego za pomocą node.js. Lub zastąp plik nowym/pustym.Node.js/Usuń zawartość w pliku
Jak mogę to osiągnąć w węźle?
Szukasz fs.truncate
lub fs.writeFile
Każda z poniższych zadziała:
var fs = require('fs')
fs.truncate('/path/to/file', 0, function(){console.log('done')})
lub
var fs = require('fs')
fs.writeFile('/path/to/file', '', function(){console.log('done')})
Istnieją również synchronous versions z both functions, że nie należy używać.
+1 za nie usuwanie pliku i pisanie do tego samego pliku! – ChrisCM
Czy możesz wyjaśnić, dlaczego wersje synchroniczne są niepożądane? –
Pewnie! Głównym powodem jest to, że węzeł jest pojedynczym wątkiem (w przeważającej części), więc jeśli wykonujesz kosztowne operacje synchroniczne, blokujesz wykonywanie dla całego procesu. – Andbdrew
to połączenie potrzebne do usunięcia pliku. Aby zastąpić go inną treścią, wystarczy zastąpić ją numerem fs.writeFile
.
Z dokumentacji węzła dla fs.writeFile: Asynchronicznie zapisuje dane do pliku, zastępując plik, jeśli już istnieje. Twój krok odłączenia jest niepotrzebny. – ChrisCM
@ChrisCM Po prostu odpowiadam na obie części pytania. –
Czy spojrzałeś tutaj? http://nodejs.org/api/fs.html – Dan455
odrzucone z powodu braku badań –
Czy nie jest to domyślne zachowanie fs.writeFile, jeśli nie dostarczasz flag? Trudniej jest dołączyć do pliku ... – ChrisCM