【nodeJs】fsファイルモジュール
13045 ワード
Node.jsファイルシステム(fsモジュール)の方法は非同期バージョンと同期バージョンがあります.同期よりも非同期方法の方が性能が高く、速度が速く、ブロックがないことをお勧めします.
この文章はよくあるファイルの操作だけを列挙しました.公式サイトをご覧ください.https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_calback 1.ファイルシステムモジュールの導入(fs)
この文章はよくあるファイルの操作だけを列挙しました.公式サイトをご覧ください.https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_calback 1.ファイルシステムモジュールの導入(fs)
var fs = require("fs")
2.ファイルの読み込み
//
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log(" : " + data.toString());
});
//
var data = fs.readFileSync('input.txt');
console.log(" : " + data.toString());
console.log(" 。");
:
: XXX
。
:XXX
3.ファイルを開く(非同期)fs.open(path, flags[, mode], callback)
path - 。
flags - 。 。
mode - ( ), 0666( , )。
callback - , :callback(err, fd)。
flags :
r 。 。
r+ 。 。
rs 。
rs+ 。
w , 。
wx 'w', , 。
w+ , 。
wx+ 'w+', , 。
a , 。
ax 'a', , 。
a+ , 。
ax+ 'a+', , 。
eg:
var fs = require("fs");
//
console.log(" !");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log(" !");
});
4.ファイル情報の取得(非同期)fs.stat(path, callback)
fs.stat(path) , stats 。 stats 。 :
eg:
var fs = require('fs');
fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
console.log(stats.isFile()); //true
})
stats :
stats.isFile() true, false。
stats.isDirectory() true, false。
stats.isBlockDevice() true, false。
stats.isCharacterDevice() true, false。
stats.isSymbolicLink() true, false。
stats.isFIFO() FIFO, true, false。FIFO UNIX 。
stats.isSocket() Socket true, false。
5.ファイルに書き込む(非同期)fs.writeFile(file, data[, options], callback)
file - 。
data - , String( ) Buffer( ) 。
options - , {encoding, mode, flag}。 utf8, 0666 , flag 'w'
callback - , (err), 。
eg:
var fs = require("fs");
fs.writeFile('input.txt', ' fs.writeFile ', function(err) {
if (err) {
return console.error(err);
}
console.log(" !");
console.log(" !");
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log(" : " + data.toString());
});
});
:
!
!
: fs.writeFile
6.ファイルの読み込み(非同期)fs.read(fd, buffer, offset, length, position, callback)
fd - fs.open() 。
buffer - 。
offset - 。
length - 。
position - , position null, 。
callback - , err, bytesRead, buffer,err , bytesRead ,buffer 。
eg:
var fs = require("fs");
var buf = new Buffer(1024);
console.log(" !");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log(" !");
console.log(" :");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
console.log(bytes + " ");
//
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
});
});
7.ファイルを閉じるfs.close(fd, callback)
eg:
var fs = require("fs");
var buf = new Buffer(1024);
console.log(" !");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log(" !");
console.log(" !");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
//
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
//
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log(" ");
});
});
});
8.ディレクトリの作成fs.mkdir(path[, mode], callback)
path - 。
mode - , 0777。
callback - , err
eg:
var fs = require("fs");
console.log(" /tmp/test/");
fs.mkdir("/tmp/test/",function(err){
if (err) {
return console.error(err);
}
console.log(" 。");
});
9.ディレクトリの読み込みfs.readdir(path, callback)
path - 。
callback - , err, files,err ,files 。
eg:
var fs = require("fs");
console.log(" /tmp ");
fs.readdir("/tmp/",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});