1. 程式人生 > >Node.js學習之內建模組fs

Node.js學習之內建模組fs

IDE為VSCode

.js內建的fs模組就是檔案系統模組,負責讀寫檔案

'use strict'

var fs = require('fs');
//非同步讀取檔案(文字)編碼格式指定為utf-8
fs.readFile('sample.txt','utf-8',function(error,data){
    if(error){
        console.log('error');
    }else{
        console.log(data);
    }
});
//非同步讀取二進位制檔案返回的data為buffer
fs.readFile('sample.png'
,function(err,data){ if(err){ console.log('error') }else{ console.log(data.length+'bytes'); } }); //同步讀取(可以加try),非同步不能try,並非立即執行不能捕捉 try { var data = fs.readFileSync('sample.png'); console.log(data.length+'bytes'); } catch (error) { } //再來看看寫入檔案往一個文字中寫,該文字的格式要是utf-8,不寫編碼格式預設也是utf-8
fs.writeFile('sample.txt','這是我要寫入的文字','utf-8',function(err,data){ if(err){ console.log('error'); }else{ console.log('success'); } }) //同步無回撥,略過 //檢視檔案的資訊使用stat()比如,也可以使用同步,不一一演示 fs.stat('sample.txt',function(err,stat){ if(err){ console.log('error') }else{ //建立時間
console.log(stat.birthtime); //修改時間 console.log(stat.mtime); console.log(stat.size); console.log(stat.isFile); } })
'use strict'
var fs = require('fs');
//建立一個檔案讀取流,返回一個ReadStream物件,可以對物件進行事件監聽,
//data事件表示流的資料已經可以讀取了,一般會執行多次,end事件表示這個流已經到末尾了,沒有資料可以讀取了,
//error事件表示出錯了,chunk是文字流的一部分資料
var rs = fs.createReadStream('sample.txt','utf-8');
rs.on('data',function(chunk){
    console.log('data:')
    console.log(chunk);
});
rs.on('end',function(){
    console.log('end');
});
rs.on('error',function(error){
    console.log('error');
});
//寫入流(原來文字檔案有內容,會覆蓋掉)
var is = fs.createWriteStream('copy.txt','utf-8');
is.write('我寫點東西');
is.write('我再寫點東西');
is.end;
//我們用pipe()把一個檔案流和另一個檔案流串起來,這樣原始檔的所有資料就自動寫入到目標檔案裡了,所以,這實際上是一個複製檔案的程式:
var rs = fs.createReadStream('sample.txt','utf-8');
var is = fs.createWriteStream('copy.txt','utf-8');
rs.pipe(is);
//預設情況下,當Readable流的資料讀取完畢,end事件觸發後,將自動關閉Writable流。如果我們不希望自動關閉Writable流,需要傳入引數如下
// rs.pipe(is,{end:false});

相關推薦

Node.js學習之內模組fs

IDE為VSCode .js內建的fs模組就是檔案系統模組,負責讀寫檔案 'use strict' var fs = require('fs'); //非同步讀取檔案(文字)編碼格式指定為ut

Node.js學習之內模組http

'use strict' //導包 var http = require('http'); var url = require('url') var path = require('path')

node.js(五 --- 檔案系統模組fs)

  node.js檔案系統(fs模組)模組中的方法均有非同步和同步版本,例如讀取檔案內容的函式有非同步的fs.readFile和同步的fs.readFileSync();非同步的方法函式最後一個引數為回撥函式, 回撥函式的第一個引數包含錯誤資訊(error)     開啟檔案     fs.

Node.js學習(9)----核心模組

核心模組是 Node.js 的心臟,它由一些精簡而高效的庫組成,為 Node.js 提供了基本的API。主要內容包括:  全域性物件;  常用工具;  事件機制;  檔案系統訪問;  HTT

Node.js學習筆記--fs模組

1. fs.readFile(path,callback(err,data)):讀取檔案有兩個引數,第一個是檔案的完整路徑,當前目錄寫./(必須要寫,為了相容Windows系統和Linux系統),第二個引數是回撥函式,表示檔案讀取完成之後做的事情//可以證明事件環機制 var

node.js學習筆記——模組與包

1.模組 1.1 模組概述 在node中,一個檔案就是一個模組,每個模組都有自己的作用域。 Node中模組分為兩類:一類是Node提供的模組,稱為核心模組;另一類是使用者編寫的模組,稱為檔案模組。 核心模組在node原始碼的編譯過程中就編譯進了二進位制執行檔案

node.js學習筆記(10)--mysql模組連線mysql資料庫

1.安裝 我們需要一個mysql 和node環境,這裡我自己的電腦沒有安裝mysql,用navicat連的同事的。 注意如果碰到這個 “Host''xxx.xx.xxx.xxx''isnot allowedtoconnectto this MySQL server"

node.js學習筆記(8)--multer模組檔案上傳

1.簡介 multer是一個node.js檔案上傳中介軟體,它是在 busboy的基礎上開發的! multer必須指定 enctype="multipart/form-data". 2.安裝 npm

node.js學習筆記(5)——excel-export模組匯出excel表

一、excel-export模組 生成的表格為xlsx格式,支援多個sheet。本文只介紹一個sheet表的生成。 二、例項 1. 在package.json中引入excel-export模組,使用npm install 命令安裝 2. 在js檔案中寫入var n

Node.js+Express+MongoDB 站例項——上傳圖片及其他模組

本專案為系列部落格,目前有以下系列 其他模組 由於上兩篇文章中已經將如何往資料庫中插入、修改資料等做了演示,因此這篇文章就不再重複了,主要記錄一些開發時遇到的問題及解決方案(具體實現方法看原始碼)。 1、 這邊推薦使用postman進行介面測試,pos

node.js學習筆記--NPM(Node Package Manager:Node.js的第三方模組、包管理器)

1. NPM包管理器   Node Package Manager:Node.js的第三方模組/包管理器,可用於下載、更新、刪除、維護包依賴關係的工具。   npm工具預設到www.npmjs.org網站下載所需的第三方模組包。   使用NPM工具下載一個新的軟體包:   

Node.js學習(第二章:node核心模塊--fs

倉庫 mage strong 寫上 前言 png pub html 很多 前言 Node.js中賦予了JavaScript很多在瀏覽器中沒有的能力,譬如:文件讀寫,創建http服務器等等,今天我們就來看看在node中怎樣用JavaScript進行文件的讀寫操作。 讀文件

node js學習記錄

str 初始化 進行 使用 ins all node js 配置 res nodejs 新版本自帶 npm 工具,使用 npm install 即可安裝一些組件 安裝插件前需 使用npm init 進行配置文件初始化, 直接回車即可 安裝express : npm

Node.js 學習

con world web put 這也 error 對象 回調函數 oid 回調函數處理並發。 Sync 同步; var data = fs.readFileSync(‘input.txt‘);console.log(data.toString()); fs.readFi

node.js學習筆記二之版本問題

nodejs targe tle 下一個 .cn blank 網站 mage 功能 一、版本說明 進入node.js官網https://nodejs.org/en/download/ 點擊上面的【All download options】進入到所有下載列表的地址 下載地

vue+node.js學習筆記

拷貝 vue 靜態頁 -1 註冊 分享 head ade view 一、搭建vue開發環境 vue init webpack newmall cnpm install npm run dev 二、測試靜態頁 把靜態頁的css拷貝進來 src

Node.js學習準備篇

中文 images 最簡 謝大 blog pac sta 現象 輸入 這裏寫個Node.js 準備篇包含內容有node.js 的安裝,命令行運行node.js 文件,使用webStrom 編寫 node.js 時有提示功能,並用webStrom 運行 Node.js 其實寫

Node.js學習之旅(二)-----MongoDB的安裝與啟動

tar 商業 blank script img blog javascrip ref es2017 安裝與啟動MongoDB Windows 用戶向導:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-

Node.js:創應用+回調函數(阻塞/非阻塞)

我們 異步化 沒有 就會 幾分鐘 能說 image console cti 一、創建應用   如果我們使用PHP來編寫後端的代碼時,需要Apache 或者 Nginx 的HTTP 服務器,並配上 mod_php5 模塊和php-cgi。從這個角度看,整個"接收 HTTP 請

node.js學習日記(二)node.js的作用域

ejs nodejs 文件 node 報錯 info get log 一個 node.js的作用域 測試package1能否能通過require("./package2")來調用package2內的函數: 1 //paackage1.js 2 var a1 = 1; 3