Rumah > hujung hadapan web > tutorial js > Cara menyalin fail dalam Nodejs_node.js

Cara menyalin fail dalam Nodejs_node.js

WBOY
Lepaskan: 2016-05-16 15:11:14
asal
1511 orang telah melayarinya

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);
});
Salin selepas log masuk

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('--------读取结束--------');
}
Salin selepas log masuk

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("文件已保存");  
    }
  });
}
Salin selepas log masuk

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();

Salin selepas log masuk

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();
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

Label berkaitan:
sumber:php.cn
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