با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش کار با فایل ها در Node.js و همچنین خواندن فایل در Node.js و ساخت فایل در Node.js بپردازیم.
ماژول File System در node.js این امکان را به شما می دهد تا با فایل سیستم کامپیوتر/سرور خود کار کنید.
برای وارد کردن این ماژول به برنامه های خود از تابع ()require استفاده می کنیم:
1 | var fs = require('fs'); |
استفاده های رایج از این ماژول:
متد ()fs.readFile برای خواندن فایل های کامپیوتر/سرور شما استفاده می شود.
فرض کنید یک فایل HTML به نام demofile1.html داریم. (در همان محل فایل node.js) :
1 2 3 4 5 6 | <html> <body> <h1>My Header</h1> <p>My paragraph.</p> </body> </html> |
یک فایل node.js ایجاد می کنیم که فایل html را خوانده و محتوای آن را برگشت دهد:
1 2 3 4 5 6 7 8 9 | var http = require('http'); var fs = require('fs'); http.createServer(function (req, res) { fs.readFile('demofile1.html', function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }); }).listen(8080); |
کد بالا را در فایلی به نام demo_readfile.js ذخیره کنید و ان را اجرا کنید:
C:\Users\Your Name>node demo_readfile.js |
همانطور که در جلسات قبل نیز گفته ایم، برای دیدن خروجی آدرس http://localhost:8080 را در مرورگر وارد کنید.
با استفاده از متد های زیر می توانیم فایل های جدیدی را ایجاد کنیم:
متد ()fs.appendFile داده ها را در انتهای فایل ذخیره می کند. اگر فایل وجود نداشته باشد، آن را ایجاد می کند.
در مثال زیر رشته “!Hello content” را در انتهای فایل می نویسیم.
1 2 3 4 5 6 | var fs = require('fs'); fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) { if (err) throw err; console.log('Saved!'); }); |
متد ()fs.open یک flag را به عنوان آرگومان دوم می گیرد.
اگر flag مقدار w داشته باشد، فایل برای نوشتن باز می شود. (اگر فایل وجود نداشته باشد، آن را ایجاد می کند)
در مثال زیر یک فایل خالی را با استفاده از متد ()open ایجاد می کنیم:
1 2 3 4 5 6 | var fs = require('fs'); fs.open('mynewfile2.txt', 'w', function (err, file) { if (err) throw err; console.log('Saved!'); }); |
متد ()fs.writeFile داده ها را در فایل می نویسد (جایگزین می کند)، اگر فایل وجود نداشت، آن را ایجاد می کند.
1 2 3 4 5 6 | var fs = require('fs'); fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) { if (err) throw err; console.log('Saved!'); }); |
این متد تمام محتوای قبلی فایل را حذف می کند و محتوا جدید را در آن می نویسد.
اما متد ()fs.appendFile محتوای قبلی را حفظ کرده و محتوای جدید را به انتهای آن اضافه می کند.
همچنین می توانیم از متد ()fs.appendFile و ()fs.writeFile برای بروز رسانی فایل ها نیز استفاده کنیم.
از متد ()fs.unlink برای حذف یک فایل استفاده می کنیم.
در مثال زیر فایل mynewfile2.txt را حذف می کنیم:
1 2 3 4 5 6 | var fs = require('fs'); fs.unlink('mynewfile2.txt', function (err) { if (err) throw err; console.log('File deleted!'); }); |
از متد ()fs.rename برای تغییر نام یک فایل استفاده می کنیم.
در مثال زیر نام فایل mynewfile1.txt را به myrenamedfile.txt تغییر می دهیم:
1 2 3 4 5 6 | var fs = require('fs'); fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) { if (err) throw err; console.log('File Renamed!'); }); |
جلسه آموزش کار با فایل ها در Node.js و همچنین خواندن فایل در Node.js و ساخت فایل در Node.js نیز به پایان رسید.
در جلسه بعد به آموزش ماژول URL در Node.js خواهیم پرداخت. با ما همراه باشید.