nodejs-fsモジュール
11034 ワード
この文章は「nodeJS探索の道」を収録しています.
本文の練習は全部入れました.https://github.com/webxiaoma/nodeJS-demos のファイルにあります.
前言
fsモジュールはnodeJSで比較的重要なモジュールとして計算されています.ここでは主にnodejs中fsモジュールの基礎知識であり、目的はfsモジュールの基本的な役割を理解することです.使用前にまずfsモジュールを導入し、本明細書では
同期と非同期
fsモジュール内の方法は、一般的に、ファイルの読み込みなどの同期と非同期の方法があります.
非同期の方法:
ファイル処理
1.ファイルの内容を読み取る path options encoding フラグ calback er data file data options encoding mode フラグ calback path calback er file data options encoding です. mode です.フラグ である.
calback er
ファイルの内容を切り取る前に、ファイルを開いて、ファイルの内容を読み取る方法も話します.
ファイルを開く: fd len calback er
1.ディレクトリの作成
ファイルが既に存在するとエラーが発生します.
ディレクトリを削除すると、空きがないとエラーが発生します.
modeはファイルを作成する時にファイルに権限を設定するために使用します.デフォルト0666
フラグ:
詳細なAPIはnode公式サイトを訪問してください.
本文の練習は全部入れました.https://github.com/webxiaoma/nodeJS-demos のファイルにあります.
前言
fsモジュールはnodeJSで比較的重要なモジュールとして計算されています.ここでは主にnodejs中fsモジュールの基礎知識であり、目的はfsモジュールの基本的な役割を理解することです.使用前にまずfsモジュールを導入し、本明細書では
const fs=require('fs')
で導入することを約束する.詳細なAPIは公式サイトfsモジュールにアクセスしてください.同期と非同期
fsモジュール内の方法は、一般的に、ファイルの読み込みなどの同期と非同期の方法があります.
非同期の方法:
fs.readFile('./test.txt',(err,data)=>{
if(err) throw err;
console.log(data)
})
同期方法let SyncFile = fs.readFileSync( './test.txt','utf-8');
cosnole.log(SyncFile);
一般的な同期方法は、非同期方法名の後にSync
という単語を加えたものである.ファイル処理
1.ファイルの内容を読み取る
fs.readFile(path[, options], callback)
パラメータ: | | |
ファイル名またはファイル記述子.
|
は、デフォルトはnullです.
は、デフォルトでは“r”である.
|
fs.readFile('./test.txt',function(err,data){
if(err){
throw err;
}
console.log(data)
console.log(data.toString())
})
2.ファイルの内容を書き込むfs.writeFile(file, data[, options], callback)
は、非同期的にファイルにデータを書き込み、ファイルが既に存在する場合は、ファイルを代替する. | |
ファイル名またはファイル記述子 | |
|
デフォルト=「utf 8」
デフォルト=0 o 666
デフォルト=w'
fs.writeFile('./write.txt','test',err =>{
if(err) throw err;
console.log(" ");
fs.readFile('./write.txt','utf-8',(err,data) =>{
if(err) throw err;
console.log(' :'+ data);
})
})
3.ファイルの内容を削除するfs.unlink(path, callback)
| |
fs.unlink('./delete.txt',err=>{
assert.ifError(err);
console.log(' :delete.txt')
})
4.追加ファイルの内容fs.appendFile(file, data[, options], callback)
が追加コンテンツのファイルが存在しない場合、そのファイルを作成する. | |
ファイル名またはファイル記述子 |
|
デフォルトは「utf 8」
のデフォルトは0 o 666
は、デフォルトでは‘a’
fs.appendFile('./add.txt',' ','utf8',(err)=>{
assert.ifError(err);
console.log(fs.readFileSync('./add.txt','utf8'))
})
5.書類の内容を切り取るファイルの内容を切り取る前に、ファイルを開いて、ファイルの内容を読み取る方法も話します.
ファイルを開く:
fs.open
ファイルの内容を読み取る:fs.read
ファイルの内容を書き込む:fs.write
ファイルを閉じる:fs.close
彼らとreadFile
、writeFile
との違いは、最下階の比較であり、fs.read
とfs.write
はfs.open
に依頼して、ファイルを開けてファイルのハンドルを得て、ファイルのハンドルに基づいて読み、書きます.実は私達が使っているのはreadFile
、writeFile
です.例を見てみます.fs.open('./open.txt','a+',(err,fd)=>{
if(err) throw err;
console.log(" ");
let readBuffer = new Buffer.alloc(30);
let writeBuffer = new Buffer.from(" add content")
fs.write(fd,writeBuffer,0,writeBuffer.length,0,(err,bytesWritten,buffer)=>{
if(err) throw err;
console.log(` , :${bytesWritten}, :${buffer}`);
// , : 12, :add content
fs.read(fd,readBuffer,0,30,0,(err, bytesRead, buffer)=>{
if(err) throw err;
console.log(bytesRead) // 17
console.log(buffer.toString());// last add content
//
fs.close(fd);
})
})
})
ここで説明したファイルの内容を切り取る方法はfs.open
方法に基づいています.fs.ftruncate(fd[, len], callback)
デフォルト=0
let fd = fs.openSync('open.txt','r+');
fs.ftruncate(fd,5,(err)=>{
assert.ifError(err);
console.log(" :" +fs.readFileSync('open.txt','utf-8'));
// :last
fs.close(fd);
});
ディレクトリ操作1.ディレクトリの作成
ファイルが既に存在するとエラーが発生します.
fs.mkdir('./newdir',function(err){
if(err) throw err
console.log("make dir success")
})
2.ディレクトリの読み込みfs.readdir('./newdir',(err,files)=>{
if(err) throw err;
// files
console.log(Array.isArray(files))
console.log(" :"+ files);
})
3.ディレクトリの削除ディレクトリを削除すると、空きがないとエラーが発生します.
fs.rmdir('./delete_dir',function(err){
if(err) throw err;
console.log('delete dir success')
})
ファイルの常用モードを読みだします.modeはファイルを作成する時にファイルに権限を設定するために使用します.デフォルト0666
フラグ:
'r' - 。
'r+' - 。
'rs' - 。 。
'rs+' - , 。
// : fs.open 。 fs.openSync()。
'w' - ,
'wx' - ' w ' ,
'w+' - ,
'wx+' - ' w+ ' ,
'a' - ,
'ax' - ' a ' ,
'a+' - ,
'ax+' - ' a+ ' ,
終了詳細なAPIはnode公式サイトを訪問してください.