Rumah > Artikel > hujung hadapan web > Cara menyalin fail dalam Nodejs_node.js
Setiap kanak-kanak kelas hadapan tahu bahawa JavaScript tidak mempunyai kebenaran untuk mengendalikan fail cakera dan kanak-kanak pelayan sentiasa menghinanya. Tetapi nodej boleh dikatakan membanggakan bahagian hadapan kami. Saya telah mempelajari nod baru-baru ini, dan fungsinya yang berkuasa membuatkan orang ramai teruja dan teruja. Hari ini saya belajar bagaimana ia membaca dan menulis fail.
Mula-mula anda perlu memperkenalkan modul fs, yang disertakan dengan nodej.
var fs=require("fs");
Untuk butiran, sila rujuk API Nodejs: http://www.w3cfuns.com/tools.php?mod=booknodejs
Terdapat dua kaedah utama yang digunakan:
1. fs.readFile(nama fail, [pengekodan], [panggilan balik])
Ini ialah bacaan tak segerak bagi fail, nama fail ialah laluan fail, pengekodan ialah format pengekodan dan panggil balik ialah fungsi panggil balik.
Baca semua kandungan fail secara tidak segerak, contohnya adalah seperti berikut:
fs.readFile('/etc/passwd', function (err, data) { if (err) throw err; console.log(data); });
Di sini saya menggunakan fail ujian tempatan:
function readFile(){ console.log('--------开始读取文件--------'); var fs = require('fs'); fs.readFile('test.txt', 'utf-8', function(err, data) { if (err) { console.log("读取失败"); } else { console.log(data); return data; } }); console.log('--------读取结束--------'); }
2. fs.writeFile(nama fail, data, pengekodan='utf8', [panggilan balik])
Tulis fail:
function writeFile(data){ fs.writeFile("test2.txt",data,function(error){ if(error){ throw error; }else{ console.log("文件已保存"); } }); }
Kod ralat: fail copyFile.js
var fs=require("fs"); function readFile(){ console.log('--------开始读取文件--------'); var fs = require('fs'); fs.readFile('test.txt', 'utf-8', function(err, data) { if (err) { console.log("读取失败"); } else { console.log(data); return data; } }); console.log('--------读取结束--------'); } function writeFile(data){ fs.writeFile("test2.txt",data,function(error){ if(error){ throw error; }else{ console.log("文件已保存"); } }); } function copyFile(){ var txt=readFile(); writeFile(txt); } copyFile();
Hasil menjalankan copyFile.js nod dalam terminal adalah seperti berikut:
Nota:
1. Pengekodan fail Pada mulanya, saya secara langsung membuat dokumen txt baru apabila saya membacanya, saya mendapati bahawa hasilnya selalu aaaaaaa. Kedua, sebaiknya bawa pengekodan, jika tidak, ia akan dibaca mengikut penimbal.
2. Masalah pelaksanaan segerak.
Terdapat masalah dengan kod di atas, saya menulis kaedah membaca dan menulis fail secara berasingan adalah untuk mengatakan, tiada siapa yang tahu bila ia akan dilaksanakan, jadi keputusan test.txt tidak ditentukan.
Kaedah yang betul hendaklah menulis fail selepas membaca:
var fs=require("fs"); function copyFile(){ console.log('--------开始读取文件--------'); var fs = require('fs'); fs.readFile('test.txt', 'utf-8', function(err, data) { if (err) { console.log("读取失败"); } else { writeFile(data) return data; } }); console.log('--------读取结束--------'); } function writeFile(data){ console.log(data); fs.writeFile("test2.txt",data,'utf8',function(error){ if(error){ throw error; }else{ console.log("文件已保存"); } }); } copyFile();
Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.