Podręcznik

Operacje na plikach w Node.js

Tworzenie i modyfikacja plików

Tworzenie nowych plików

Do asynchronicznego tworzenia plików służy funkcja writeFile z API promises modułu fs:

const fsPromises = require('fs').promises;
const path = require('path');

// Nazwa i ścieżka pliku, który chcemy stworzyć:
var fileName = "my_file.txt";
var filePath = path.join(__dirname, fileName);

async function main() {
  try {
    await fsPromises.writeFile(filePath, "All work and no play makes Jack a dull boy\n");
    console.log("File created");
  }
  catch (rejectionReason) {
    console.error(rejectionReason);
  }
}

main();

Jeśli plik o zadanej ścieżce nie istnieje, funkcja writeFile go stworzy; jeśli istnieje, jego wcześniejsza zawartość zostanie usunięta. Funkcja writeFile nie stworzy jednak folderu; jeśli folder określony w zadanej ścieżce nie istnieje, zapis pliku nie powiedzie się.


Dopisywanie do istniejących plików

Aby dopisać treść do istniejącego pliku, nie usuwając jego wcześniejszej zawartości, można wykorzystać funkcję appendFile z API promises modułu fs:

for (let n = 0; n < 999; n++) {
  await fsPromises.appendFile(filePath, "All work and no play makes Jack a dull boy\n");
}

Podobnie jak writeFile, funkcja appendFile stworzy nowy plik, jeśli plik o podanej ścieżce nie istnieje (ale nie stworzy folderu).


Zmiana nazw, przenoszenie i usuwanie plików

Funkcja rename służy do przenoszenia albo zmiany nazwy pliku:

await fsPromises.rename([stara_ścieżka], [nowa_ścieżka]);

Jeśli plik o docelowej ścieżce [nowa_ścieżka] istnieje, zostanie nadpisany.

Do usuwania plików służy funkcja unlink:

await fsPromises.unlink([ścieżka_pliku_do_usunięcia]);