Hallo apa kabar teman semuanya, kali ini kita akan membahas File system pada Node.JS.
Ketika kita mengembangkan aplikasi, kita akan selalu berhadapan dengan file system. File syste, berfungsi untuk mengakses berkas di dalam komputer. Ketika kita menjalankan kode JavaScript pada browser, sangat pengint untuk melemitasi JavaScript dalam mengakses file system. Teknik ini dinamakan dengan sandboxing. Sendboxing akan melindungi program kita dari program jahat, serta pencurian yang dapat merampas privasi penggunanya.
Kalian dapat mempelajari tutorial yang lainnya di sini:
Tutorial Javascript: Convert waktu am pm to 24 Jam
Node.js menyediakan core modules fs yang dapat mempermudah kita dalam mengakses file system. Setiap method yang ada di module fs tersedia dalam dua versi, yakni versi asynchronous (default) dan versi synchronous.
Untuk mengakses berkas pada komputer kita dapat menggunakan method fs.readFile(). Method ini menerima tiga argumen yakni: lokasi berkas, encoding, dan callback function yang akan terpanggil bila berkas berhasil/gagal diakses.
Membaca File di Nodejs
Pada Nodejs, terdapat modul file system (fs
) yang memungkinkan kita untuk mengakses file system.
Modul file system sering digunakan untuk: 1
- Baca file;
- Tulis file;
- Rename file;
- hapus file;
- dll.
Modul ini sudah ada di Nodejs, sehingga kita tidak perlu menginstalnya melelui NPM (Node Package Manager).
Mari kita coba membaca file dengan modul fs
. Pertama silahkan buat file HTML dengan nama index.html
dan isi sebagai berikut:
Saya akan memebrikan beberapa contoh.
Akses file .txt menggunakan file system.
index.js
const fs = require('fs');
const fileReadCallback = (error, data) => {
if(error) {
console.log('Gagal membaca berkas');
return;
}
console.log(data);
};
fs.readFile('todo.txt', 'UTF-8', fileReadCallback);
todo.txt
My Header
My paragraph.
dan anda juga dapat menggunakan versi synchronous fs.readFileSync().
Pada dasarnya, kode untuk menggunakan fs itu sama. hanya caranya saja yang dapat membedakan cara akses file system.
Saya akan memebrikan contoh cara akses file system menggunakan html.
index.js
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
fs.readFile('todo.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
todo.html
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
Silahkan untuk menjalankan menggunakan perintah node index.js
Membuat File Nodejs
Selain untuk membaca file, modul fs
juga digunakan untuk membuat file baru. Terdapat beberapa method yang dapat digunakan untuk membuat file: 1
fs.appendFile()
untuk membuat dan mengisi file;fs.open()
untuk membuat, membuka, dan menulis file;fs.writeFile()
untuk membuat dan menulis file.
Mari kita coba satu per satu.
Pertama silahkan buat file javascript dengan nama fs_append.js
dengan isi sebagai berikut:
var fs = require('fs');
//create a file named mynewfile1.txt:
fs.appendFile('mynewfile1.txt', 'Hello Teman Ngoding!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Membuat file dengan fungsi fs.open()
Kode program di atas akan membuat file dengan nama mynewfile1.txt
dengan isi Hello Teman Ngoding!
.
Buatlah file javascript baru dengan nama fs_open.js
dengan isi sebagai berikut:
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err, file) {
if (err) throw err;
console.log('Saved!');
});
Fungsi fs.open()
memiliki tiga parameter:
- Nama file;
- Flag;
- Fungsi yang akan dieksekusi saat file dibuka.
Pada contoh di atas, kita memberikan Flag w
(write) untuk memberitahu fungsi fs.open()
kalau kita ingin menulis atau membuat file baru.
Maka fungsi fs.open()
akan membuat file kosong apabila belum ada file dengan nama yang ditentukan.
Namun, apabila di sana sudah ada file, fungsi fs.open()
akan menindihnya.
Lalu saat kita ingin membaca file saja, maka kita bisa berikan flag r
(read).
Selain r
dan w
, berikut ini beberapa flags yang bisa diberikan: 3
r
buka file untuk dibaca. Jika file tidak ada maka akan terjadi error.r+
buka file untuk dibaca dan ditulis. Apabila file tidak ada maka akan terjadi error.rs
buka file untuk dibaca dalam mode synchronous.rs+
buka file untuk dibaca dan ditulis dalam mode synchronous.w
buka file euntuk ditulis.wx
sama sepertiw
, tapi akan error jika sudah ada filenya.w+
buka file untuk ditulis dan dibaca.wx+
sama sepertiw+
tapi akan error jika sudah ada filenya.a
buka file untuk diisi.ax
sama sepertia
tapi akan error jika sudah ada filenya.a+
buka file untuk diisi.ax+
sama sepertia+
tapi akan error jika sudah ada filenya.
Mengubah Nama File dengan Nodejs
Pada modul fs
terdapat fungsi rename()
untuk mengubah nama.
Fungsi ini memiliki tiga parameter:
- Nama file;
- Nama baru;
- Fungsi yang akan dieksekusi saat nama diubah.
Buatlah file javascript baru dengan nama rename.js
dan isi dengan kode berikut ini:
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
Menghapus File dengan Nodejs
Modul fs
memiliki fungsi unlink()
untuk menghapus file. Fungsi ini memiliki dua parameter:
- Nama file yang akan dihapus;
- fungsi yang akan dieksekusi saat file dihapus.
Buatlah file baru bernama delete.js
, lalu isi dengan kode berikut:
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
Demikian tutorial ini saya sampaikan, semoga bermanfaat.
Terimakasih.