中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Node.js文件操作方法匯總
來源:易賢網(wǎng) 閱讀:1009 次 日期:2016-07-19 14:14:17
溫馨提示:易賢網(wǎng)小編為您整理了“Node.js文件操作方法匯總”,方便廣大網(wǎng)友查閱!

Node.js和其他語言一樣,也有文件操作。先不說node.js中的文件操作,其他語言的文件操作一般也都是有打開、關(guān)閉、讀、寫、文件信息、新建刪除目錄、刪除文件、檢測文件路徑等。在node.js中也是一樣,也都是這些功能,可能就是api與其他語言不太一樣。

一、同步、異步打開關(guān)閉

/**

 * Created by Administrator on 2016/3/21.

 */

var fs=require("fs");

//同步讀 fs.openSync = function(path, flags, mode)

//模塊fs.js文件中如上面定義的openSync 函數(shù)3個參數(shù)

//.1.path 文件路徑

//2.flags 打開文件的模式

//3.model 設(shè)置文件訪問模式

//fd文件描述

var fd=fs.openSync("data/openClose.txt",'w');

//fs.closeSync = function(fd)

fs.closeSync(fd);

//異步讀寫

//fs.open = function(path, flags, mode, callback_)

//fs.close = function(fd, callback)

fs.open("data/openColse1.txt",'w',function(err,fd) {

  if (!err)

  {

    fs.close(fd,function(){

      console.log("closed");

    });

  }

});

其中的flags其他語言也會有.其實主要分3部分 r、w、a.和C中的差不多。

1.r —— 以只讀方式打開文件,數(shù)據(jù)流的初始位置在文件開始

2.r+ —— 以可讀寫方式打開文件,數(shù)據(jù)流的初始位置在文件開始

3.w ——如果文件存在,則將文件長度清0,即該文件內(nèi)容會丟失。如果不存在,則嘗試創(chuàng)建它。數(shù)據(jù)流的初始位置在文件開始

4.w+ —— 以可讀寫方式打開文件,如果文件不存在,則嘗試創(chuàng)建它,如果文件存在,則將文件長度清0,即該文件內(nèi)容會丟失。數(shù)據(jù)流的初始位置在文件開始

5.a —— 以只寫方式打開文件,如果文件不存在,則嘗試創(chuàng)建它,數(shù)據(jù)流的初始位置在文件末尾,隨后的每次寫操作都會將數(shù)據(jù)追加到文件后面。

6.a+ ——以可讀寫方式打開文件,如果文件不存在,則嘗試創(chuàng)建它,數(shù)據(jù)流的初始位置在文件末尾,隨后的每次寫操作都會將數(shù)據(jù)追加到文件后面。

二、讀寫

1.簡單文件讀寫

/**

 * Created by Administrator on 2016/3/21.

 */

var fs = require('fs');

var config = {

  maxFiles: 20,

  maxConnections: 15,

  rootPath: "/webroot"

};

var configTxt = JSON.stringify(config);

var options = {encoding:'utf8', flag:'w'};

//options 定義字符串編碼 打開文件使用的模式 標(biāo)志的encoding、mode、flag屬性 可選

//異步

//fs.writeFile = function(path, data, options, callback_)

//同步

//fs.writeFileSync = function(path, data, options)

fs.writeFile('data/config.txt', configTxt, options, function(err){

  if (err){

    console.log("Config Write Failed.");

  } else {

    console.log("Config Saved.");

    readFile();

  }

});

function readFile()

{

  var fs = require('fs');

  var options = {encoding:'utf8', flag:'r'};

  //異步

  //fs.readFile = function(path, options, callback_)

  //同步

  //fs.readFileSync = function(path, options)

  fs.readFile('data/config.txt', options, function(err, data){

    if (err){

      console.log("Failed to open Config File.");

    } else {

      console.log("Config Loaded.");

      var config = JSON.parse(data);

      console.log("Max Files: " + config.maxFiles);

      console.log("Max Connections: " + config.maxConnections);

      console.log("Root Path: " + config.rootPath);

    }

  });

}

-------------------------------------------------

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe SimpleReadWrite.js

Config Saved.

Config Loaded.

Max Files: 20

Max Connections: 15

Root Path: /webroot

Process finished with exit code 0

2.同步讀寫

/**

 * Created by Administrator on 2016/3/21.

 */

var fs = require('fs');

var veggieTray = ['carrots', 'celery', 'olives'];

fd = fs.openSync('data/veggie.txt', 'w');

while (veggieTray.length){

  veggie = veggieTray.pop() + " ";

  //系統(tǒng)api 

  //fd 文件描述 第二個參數(shù)是被寫入的String或Buffer

  // offset是第二個參數(shù)開始讀的索引 null是表示當(dāng)前索引

  //length 寫入的字節(jié)數(shù) null一直寫到數(shù)據(jù)緩沖區(qū)末尾

  //position 指定在文件中開始寫入的位置 null 文件當(dāng)前位置

  // fs.writeSync(fd, buffer, offset, length[, position]);

  // fs.writeSync(fd, string[, position[, encoding]]);

  //fs.writeSync = function(fd, buffer, offset, length, position)

  var bytes = fs.writeSync(fd, veggie, null, null);

  console.log("Wrote %s %dbytes", veggie, bytes);

}

fs.closeSync(fd);

var fs = require('fs');

fd = fs.openSync('data/veggie.txt', 'r');

var veggies = "";

do {

  var buf = new Buffer(5);

  buf.fill();

  //fs.readSync = function(fd, buffer, offset, length, position)

  var bytes = fs.readSync(fd, buf, null, 5);

  console.log("read %dbytes", bytes);

  veggies += buf.toString();

} while (bytes > 0);

fs.closeSync(fd);

console.log("Veggies: " + veggies);

--------------------------------------------

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe syncReadWrite.js

Wrote olives 7bytes

Wrote celery 7bytes

Wrote carrots 8bytes

read 5bytes

read 5bytes

read 5bytes

read 5bytes

read 2bytes

read 0bytes

Veggies: olives celery carrots     

Process finished with exit code 0

3.異步讀寫 和同步讀寫的參數(shù)差不多就是多了callback

/**

 * Created by Administrator on 2016/3/21.

 */

var fs = require('fs');

var fruitBowl = ['apple', 'orange', 'banana', 'grapes'];

function writeFruit(fd){

  if (fruitBowl.length){

    var fruit = fruitBowl.pop() + " ";

   // fs.write(fd, buffer, offset, length[, position], callback);

   // fs.write(fd, string[, position[, encoding]], callback);

   // fs.write = function(fd, buffer, offset, length, position, callback)

    fs.write(fd, fruit, null, null, function(err, bytes){

      if (err){

        console.log("File Write Failed.");

      } else {

        console.log("Wrote: %s %dbytes", fruit, bytes);

        writeFruit(fd);

      }

    });

  } else {

    fs.close(fd);

    ayncRead();

  }

}

fs.open('data/fruit.txt', 'w', function(err, fd){

  writeFruit(fd);

});

function ayncRead()

{

  var fs = require('fs');

  function readFruit(fd, fruits){

    var buf = new Buffer(5);

    buf.fill();

    //fs.read = function(fd, buffer, offset, length, position, callback)

    fs.read(fd, buf, 0, 5, null, function(err, bytes, data){

      if ( bytes > 0) {

        console.log("read %dbytes", bytes);

        fruits += data;

        readFruit(fd, fruits);

      } else {

        fs.close(fd);

        console.log ("Fruits: %s", fruits);

      }

    });

  }

  fs.open('data/fruit.txt', 'r', function(err, fd){

    readFruit(fd, "");

  });

}

---------------------------------------------

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe asyncReadWrite.js

Wrote: grapes 7bytes

Wrote: banana 7bytes

Wrote: orange 7bytes

Wrote: apple 6bytes

read 5bytes

read 5bytes

read 5bytes

read 5bytes

read 5bytes

read 2bytes

Fruits: grapes banana orange apple  

Process finished with exit code 0

4.流式讀寫

/**

 * Created by Administrator on 2016/3/21.

 */

var fs = require('fs');

var grains = ['wheat', 'rice', 'oats'];

var options = { encoding: 'utf8', flag: 'w' };

//從下面的系統(tǒng)api可以看到 createWriteStream 就是創(chuàng)建了一個writable流

//fs.createWriteStream = function(path, options) {

//  return new WriteStream(path, options);

//};

//

//util.inherits(WriteStream, Writable);

//fs.WriteStream = WriteStream;

//function WriteStream(path, options)

var fileWriteStream = fs.createWriteStream("data/grains.txt", options);

fileWriteStream.on("close", function(){

  console.log("File Closed.");

  //流式讀

  streamRead();

});

while (grains.length){

  var data = grains.pop() + " ";

  fileWriteStream.write(data);

  console.log("Wrote: %s", data);

}

fileWriteStream.end();

//流式讀

function streamRead()

{

  var fs = require('fs');

  var options = { encoding: 'utf8', flag: 'r' };

  //fs.createReadStream = function(path, options) {

  //  return new ReadStream(path, options);

  //};

  //

  //util.inherits(ReadStream, Readable);

  //fs.ReadStream = ReadStream;

  //

  //function ReadStream(path, options)

  //createReadStream 就是創(chuàng)建了一個readable流

  var fileReadStream = fs.createReadStream("data/grains.txt", options);

  fileReadStream.on('data', function(chunk) {

    console.log('Grains: %s', chunk);

    console.log('Read %d bytes of data.', chunk.length);

  });

  fileReadStream.on("close", function(){

    console.log("File Closed.");

  });

}

--------------------------------------------

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe StreamReadWrite.js

Wrote: oats 

Wrote: rice 

Wrote: wheat 

File Closed.

Grains: oats rice wheat 

Read 16 bytes of data.

File Closed.

Process finished with exit code 0

個人覺得像這些api用一用感受一下就ok了,遇到了會用就行了。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:Node.js文件操作方法匯總

2026上岸·考公考編培訓(xùn)報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩中文字幕精品| 18成人免费观看视频| 欧美激情日韩| 国产亚洲一区二区在线观看 | 午夜欧美精品| 欧美性事免费在线观看| 日韩一区二区精品葵司在线| 欧美黄在线观看| 亚洲激情国产精品| 欧美激情免费观看| 亚洲欧洲日本国产| 欧美黄色成人网| 亚洲精品美女| 欧美日韩国产成人精品| av72成人在线| 欧美性猛交xxxx乱大交蜜桃 | 久久精品在这里| 国精品一区二区| 久久久久国内| 在线精品视频一区二区三四| 麻豆精品在线观看| 国产精品男人爽免费视频1| 亚洲尤物视频网| 国产欧美亚洲精品| 久久婷婷综合激情| 亚洲国产日韩一区二区| 欧美精品国产一区| 亚洲一区二区三区久久| 国产噜噜噜噜噜久久久久久久久| 性色av香蕉一区二区| 狠狠色丁香久久综合频道| 免费日韩视频| 亚洲图片自拍偷拍| 国产午夜亚洲精品羞羞网站| 久久亚洲国产精品日日av夜夜| 亚洲第一精品在线| 欧美色视频在线| 性欧美大战久久久久久久免费观看 | 欧美一级专区| 国产精品久久久久久影视| 欧美日一区二区三区在线观看国产免| 亚洲日本va午夜在线电影| 亚洲一区二区三区高清| 日韩一区二区精品视频| 久久久免费精品| 国产精品久99| 永久免费毛片在线播放不卡| 欧美成人精品高清在线播放| 夜夜嗨av一区二区三区四季av | 韩国精品一区二区三区| 免费一级欧美片在线观看| 一区二区三区免费看| 国产日韩欧美精品| 欧美www在线| 国内精品模特av私拍在线观看| 亚洲成人自拍视频| 99国产一区二区三精品乱码| 久久天天狠狠| 日韩一区二区精品| 国产精品永久免费观看| 欧美视频久久| 国产精品一二三| 久久久久久久久一区二区| 国产资源精品在线观看| 亚洲成人在线网| 麻豆精品91| 欧美日韩在线精品| 久久综合色播五月| 在线观看福利一区| 亚洲人永久免费| 亚洲第一中文字幕在线观看| 亚洲自拍偷拍色片视频| 国产精品va在线| 欧美日韩国产一区| 欧美午夜激情小视频| 欧美福利视频网站| 国产精品影视天天线| 午夜视频精品| 亚洲欧美国产一区二区三区| 亚洲裸体俱乐部裸体舞表演av| 亚洲电影自拍| 欧美在线视频播放| 国产精品www.| 欧美刺激性大交免费视频| 国产日产亚洲精品| 欧美大片在线影院| 欧美中文字幕在线| 一区二区三区四区精品| 精品不卡一区| 国产精品亚洲精品| 欧美色大人视频| 欧美凹凸一区二区三区视频| 国内精品视频久久| 亚洲欧美日韩国产精品| 国产精品视频yy9099| 欧美精品粉嫩高潮一区二区 | 国产精品久久久久久久久久久久久| 久热综合在线亚洲精品| 久久成人精品视频| 欧美一级视频一区二区| avtt综合网| 国产一区再线| 国产性猛交xxxx免费看久久| 老司机午夜精品视频| 国产偷自视频区视频一区二区| 国产精品视频yy9099| 尤物99国产成人精品视频| 亚洲国产99| 亚洲视频1区| 久久精品主播| 欧美日韩亚洲一区二| 国产一区二区久久精品| 亚洲经典在线| 欧美在线免费观看| 欧美欧美天天天天操| 国内精品视频久久| 亚洲一区亚洲| 欧美精品偷拍| 激情文学综合丁香| 亚洲尤物在线视频观看| 欧美大片在线看免费观看| 国产一区激情| 欧美喷潮久久久xxxxx| 国产日韩精品入口| 亚洲综合不卡| 欧美日韩伊人| 最新亚洲激情| 免费亚洲一区| 亚洲电影天堂av| 美女精品网站| 久久av一区二区| 欧美日韩精品一区二区在线播放| 激情亚洲网站| 久久日韩粉嫩一区二区三区| 国内精品视频久久| 在线中文字幕日韩| 亚洲影视九九影院在线观看| 欧美激情视频网站| 欧美日韩精品一区| 国产精品久久久久久久久久三级| 亚洲欧美日韩国产综合精品二区| 国产精品久久久久久久久免费樱桃 | 久久精品中文字幕一区二区三区| 欧美成人在线网站| 国产精品久久久久秋霞鲁丝| 亚洲欧洲日产国码二区| 欧美精品亚洲一区二区在线播放| 亚洲国产日韩一区二区| 欧美日韩播放| 99视频精品在线| 国产久一道中文一区| 久久av红桃一区二区小说| 一区二区三区在线观看视频 | 国产欧美日韩在线视频| 亚洲一区二区免费看| 国产精品免费电影| 免费成人在线视频网站| 一区二区三区四区精品| 永久域名在线精品| 国产精品系列在线播放| 免费av成人在线| 午夜视频在线观看一区二区三区| 在线欧美不卡| 国内精品嫩模av私拍在线观看| 国产精品二区在线| 欧美暴力喷水在线| 久久亚洲精品中文字幕冲田杏梨| 亚洲一级片在线观看| 亚洲福利电影| 国产精品二区在线| 欧美日韩在线亚洲一区蜜芽| 欧美激情第10页| 麻豆成人在线观看| 久久国产精品黑丝| 99精品国产热久久91蜜凸| 亚洲精品资源| 亚洲高清一二三区| 99re6热在线精品视频播放速度| 亚洲毛片在线看| a4yy欧美一区二区三区| 在线视频中文亚洲| 在线国产精品播放| 欧美日韩无遮挡| 欧美另类在线播放| 国产精品九九| 亚洲男人的天堂在线观看| 亚洲国产二区| 99精品视频一区| 亚洲欧美中文另类| 久久亚洲欧美| 国产精品卡一卡二| 黄色一区二区在线| 亚洲精品少妇网址| 久久久www| 欧美图区在线视频| 国产一区二区三区久久精品| 久久久久久久国产| 一本色道久久综合亚洲精品按摩| 亚洲日本aⅴ片在线观看香蕉| 136国产福利精品导航网址|