Sistem Fail: Modul `fs` Node.js

WBOY
Lepaskan: 2024-08-24 15:01:33
asal
412 orang telah melayarinya

File System: Node.js `fs` Module

Modul fs (Sistem Fail) dalam Node.js ialah alat yang berkuasa untuk bekerja dengan sistem fail, membolehkan anda berinteraksi dengan fail dan direktori pada pelayan anda. Ia terbina dalam Node.js, jadi anda tidak perlu memasang apa-apa tambahan untuk menggunakannya. Mari kita terokai cara fs berfungsi dan fungsi utamanya.

1. Apakah Modul fs?

Modul fs menyediakan API untuk berinteraksi dengan sistem fail dengan cara yang dimodelkan rapat di sekitar fungsi POSIX standard. Modul ini digunakan untuk tugas seperti membaca dari dan menulis ke fail, mencipta direktori dan banyak lagi.

2. Persediaan Asas

Untuk menggunakan modul fs, anda perlu memerlukannya pada permulaan skrip Node.js anda:

const fs = require('fs');
Salin selepas log masuk

3. Membaca Fail

Terdapat dua cara utama untuk membaca fail: tak segerak dan segerak.

Bacaan Asynchronous

Kaedah ini tidak menyekat, bermakna ia tidak akan menghentikan pelaksanaan program anda semasa ia membaca fail.

fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(data);
});
Salin selepas log masuk
  • 'example.txt': Fail yang anda mahu baca.
  • 'utf8': Menentukan pengekodan yang akan digunakan.
  • Fungsi Panggilan Balik: Mengendalikan ralat dan data fail.

Bacaan Segerak

Kaedah ini menyekat, bermakna ia akan menghentikan pelaksanaan program anda sehingga fail dibaca.

try {
    const data = fs.readFileSync('example.txt', 'utf8');
    console.log(data);
} catch (err) {
    console.error(err);
}
Salin selepas log masuk

4. Menulis Fail

Sama seperti membaca fail, menulis juga boleh dilakukan secara tak segerak atau serentak.

Penulisan Asynchronous

fs.writeFile('example.txt', 'Hello, World!', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File has been saved!');
});
Salin selepas log masuk

Penulisan Segerak

try {
    fs.writeFileSync('example.txt', 'Hello, World!');
    console.log('File has been saved!');
} catch (err) {
    console.error(err);
}
Salin selepas log masuk

5. Menambah pada Fail

Jika anda ingin menambah kandungan pada fail sedia ada tanpa menimpanya, gunakan kaedah appendFile.

Penambahan Asynchronous

fs.appendFile('example.txt', '\nAppended Content', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Content has been appended!');
});
Salin selepas log masuk

Lampiran Segerak

try {
    fs.appendFileSync('example.txt', '\nAppended Content');
    console.log('Content has been appended!');
} catch (err) {
    console.error(err);
}
Salin selepas log masuk

6. Memadam Fail

Untuk memadamkan fail, gunakan kaedah nyahpaut.

Pemadaman Asynchronous

fs.unlink('example.txt', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File deleted!');
});
Salin selepas log masuk

Pemadaman Segerak

try {
    fs.unlinkSync('example.txt');
    console.log('File deleted!');
} catch (err) {
    console.error(err);
}
Salin selepas log masuk

7. Bekerja dengan Direktori

Mencipta Direktori

fs.mkdir('newDir', { recursive: true }, (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Directory created!');
});
Salin selepas log masuk

Membaca Direktori

fs.readdir('newDir', (err, files) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Files in directory:', files);
});
Salin selepas log masuk

Memadamkan Direktori

fs.rmdir('newDir', { recursive: true }, (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Directory deleted!');
});
Salin selepas log masuk

8. Menonton Fail

Anda boleh melihat perubahan dalam fail menggunakan kaedah fs.watch:

fs.watch('example.txt', (eventType, filename) => {
    if (filename) {
        console.log(`${filename} file Changed!`);
    }
});
Salin selepas log masuk

9. Bekerja dengan Strim

Node.js menyediakan strim fs untuk mengendalikan fail besar yang mungkin tidak sesuai dengan memori.

Membaca dengan Strim

const readStream = fs.createReadStream('example.txt', 'utf8');
readStream.on('data', (chunk) => {
    console.log(chunk);
});
Salin selepas log masuk

Menulis dengan Strim

const writeStream = fs.createWriteStream('example.txt');
writeStream.write('Hello, ');
writeStream.write('World!');
writeStream.end();
Salin selepas log masuk

10. Menyalin Fail

Node.js menyediakan kaedah mudah untuk menyalin fail:

fs.copyFile('source.txt', 'destination.txt', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File copied successfully!');
});
Salin selepas log masuk

11. Dijanjikan fs

Modul fs juga mempunyai kaedah berasaskan janji, menjadikannya lebih mudah untuk berfungsi dengan ciri JavaScript moden seperti async/menunggu.

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

async function readFile() {
    try {
        const data = await fsPromises.readFile('example.txt', 'utf8');
        console.log(data);
    } catch (err) {
        console.error(err);
    }
}

readFile();
Salin selepas log masuk

12. Kes Penggunaan Praktikal

  • Fail Konfigurasi: Baca atau tulis fail konfigurasi (cth., fail JSON) untuk menyimpan tetapan.
  • Fail Log: Tambahkan pada fail log untuk menjejaki acara aplikasi.
  • Muat Naik Fail: Simpan dan dapatkan semula fail yang dimuat naik.
  • Pemprosesan Data: Baca, proses dan tulis set data yang besar dengan cekap menggunakan strim.

13. Pengendalian Ralat dan Amalan Terbaik

  • Sentiasa mengendalikan ralat dalam fungsi panggil balik atau gunakan blok cuba tangkap dengan kod segerak.
  • Gunakan kaedah tak segerak untuk prestasi yang lebih baik dalam kebanyakan kes.
  • Pertimbangkan untuk menggunakan fs.promises untuk kod yang lebih bersih dan moden.
  • Berhati-hati dengan kaedah segerak kerana kaedah ini boleh menyekat gelung acara.
  • Gunakan fs.constants untuk bendera sistem fail (cth., fs.constants.O_RDONLY untuk akses baca sahaja).

14. Pertimbangan Keselamatan

  • Sahkan dan bersihkan laluan fail untuk mengelakkan serangan lintasan direktori.
  • Berhati-hati apabila bekerja dengan nama fail atau laluan yang dibekalkan pengguna.
  • Gunakan kebenaran fail yang sesuai semasa membuat atau mengubah suai fail dan direktori.

15. Kesimpulan

Modul fs adalah serba boleh dan penting untuk mana-mana aplikasi Node.js yang perlu berinteraksi dengan sistem fail. Dengan memahami pelbagai kaedahnya, mengendalikan strim dengan cekap dan menggunakan amalan terbaik, anda akan dilengkapi dengan baik untuk mengurus operasi fail dalam Node.js dengan berkesan dan selamat.

Ingat untuk merujuk dokumentasi rasmi Node.js untuk mendapatkan maklumat terkini dan ciri tambahan modul fs.

Atas ialah kandungan terperinci Sistem Fail: Modul `fs` Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!