node之文件系统File System

一、文件读取

文件读取又分为同步读取和异步读取

//1、文件同步读取
const bufferStr = fs.readFileSync(‘./file/test.txt‘);

console.log(bufferStr);
// 因为没有声明encoding 所以返回的是二进制数据
//<Buffer 48 65 6c 6c 6f 20 57 6f 72 6c 64 21>

const str = fs.readFileSync(‘./file/test.txt‘,{
	encoding:‘utf-8‘
});

console.log(str);
//Hello world!
//错误处理
try{
	var errStr = fs.readFileSync(‘test.txt‘);
}catch(err){
	console.log(errStr);
}

//因为文件不存在,所以 打印出 undefined

//2、文件异步读取
fs.readFile(‘./file/test.txt‘,{encoding:‘utf-8‘}, (err,data) =>{
	if(err) throw err;
	console.log(‘2.1读取数据成功,数据内容为:‘+ data);
});

  

二、文件写入

文件写入包括:fs.writeFile(异步)、fs.writeFileSync(同步)

格式:fs.writeFile(filename, data, [options], callback)

[options]
@param {Object} [options]
@param {String} options.encoding 编码,默认是utf8
@param {Number} options.mode=438 模式
@param {String} options.flag=w 写文件的模式
@param {Function} callback 回调方法

const fileName = ‘wirteFile_01.txt‘;

fs.writeFile(fileName, ‘Hello World !‘, (err) => {
    if(err) throw err;
    console.log(fileName + ‘不存在,被创建了!‘);
});

//往存在的文件内写内容
fs.writeFile(fileName, ‘no pain no gain‘, (err) => {
    if(err) throw err;
    console.log(fileName + ‘文件被修改了!‘);
});

//往文件内追加内容
fs.writeFile(fileName, ‘stay hungry stay foolish‘,{flag : ‘a‘}, (err) => {
    if(err) throw err;
    console.log(fileName + ‘文件被修改了,内容追加!‘);
});

  

fs.writeFileSync(同步)

与异步差不多,就是没有回调。

三.文件删除

//异步
fs.unlink(‘./file/test.txt‘, (err) => {
  if (err) throw err;
  console.log(‘成功删除file中的test.txt‘);
});

//同步
fs.unlinkSync(‘./file/test.txt‘, (err) => {
  if (err) throw err;
  console.log(‘成功删除file中的test.txt‘);
});

  

四、文件的监听事件

//文件的事件监听
fs.watch(‘./file‘, {encoding:‘utf-8‘}, (eventType, filename) =>{
	if(filename){
		console.log(‘文件名:‘ + filename + ‘事件类型:‘ + eventType);
	}
});

//文件名:test3.txt事件类型:rename
//文件名:hhh.txt事件类型:rename
//文件名:hhh.txt事件类型:change

  

参考:官方文档

时间: 2024-10-15 14:04:59

node之文件系统File System的相关文章

[Objective-C] 013_文件系统(File System)

在前面三篇关于数据持久化,我们都用涉及到文件(plist文件,数据库文件),它们都是把它们存储在document目录下.iOS的文件机制是沙盒机制,应用只能访问自己应用目录下的文件.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录. Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTun

操作系统原理(三)——文件系统(File system)

文件系统(File system) 1. 文件 首先要说文件的定义,文件是进程创建的信息逻辑单元. 由于磁带和光盘的性能较低,磁盘使用的较多.这里讨论文件储存在磁盘中的情况.磁盘可被认为是固定块儿大小的线性序列. 在操作系统看来,文件就是一个个字节流,操作系统不管这个文件的内容(不管它是.mp3音频文件,或者.jpg图片文件,在应用程序看来才有这种区分).文件在操作系统眼中只有3种:普通文件.目录文件.特殊文件. 文件的命名: 在Linux中,文件名大小写敏感:目录分隔符“/”绝对不能出现在文件

Linux文件系统只读Read-only file system

问题描述: 1.系统无法进行磁盘的读写操作(touch,cp,chmod)等等 2.服务器无法启动(也是因为无法创建文件) 3.只有涉及到系统磁盘的写操作,都会报错"Read-only file system" 问题原因: 1.系统没有正常关机,导致虚拟磁盘出现文件系统错误: 2.机器硬盘故障导致硬盘只读 一般情况是由于系统发现磁盘硬件(Riad卡,硬盘)故障或文件系统中文件被损坏后而采取的保护机制导致的.为了保护数据不破坏分区中已有内容,Linux在挂载文件系统是就只用read-on

HDFS分布式文件系统(The Hadoop Distributed File System)

The Hadoop Distributed File System (HDFS) is designed to store very large data sets reliably, and to stream those data sets at high bandwidth to user applications. In a large cluster, thousands of servers both host directly attached storage and execu

【整理学习HDFS】Hadoop Distributed File System 一个分布式文件系统

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别也是很明显的.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的.HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的.HDFS是Apac

HTML5之本地文件系统API - File System API

HTML5之本地文件系统API - File System API 2014-06-03 17:54 19991人阅读 评论(0) 收藏 举报 目录(?)[+] 新的HTML5标准给我们带来了大量的新特性和惊喜,例如,画图的画布Canvas,多媒体的audio和video等等.除了上面我们提到的,还有比较新的特性 - File System API,它能够帮助我们来突破沙箱访问我们本地的文件系统,从而有效的弥补桌面和web应用之间的鸿沟.在今天这篇文章中,我们将会介绍基本的File system

Linux文件系统只读Read-only&#160;file&#160;system

问题描述: 1.系统无法进行磁盘的读写操作(touch,cp,chmod)等等 2.服务器无法启动(也是因为无法创建文件) 3.只有涉及到系统磁盘的写操作,都会报错"Read-only file system" 问题原因: 1.系统没有正常关机,导致虚拟磁盘出现文件系统错误: 2.机器硬盘故障导致硬盘只读 一般情况是由于系统发现磁盘硬件(Riad卡,硬盘)故障或文件系统中文件被损坏后而采取的保护机制导致的.为了保护数据不破坏分区中已有内容,Linux在挂载文件系统是就只用read-on

KASS分布式文件系统(Kass File System)

KASS分布式文件系统(Kass File System),简称KFS,是开始公司自主研发的分布式文件存储服务平台.KFS系统架构及功能服务类似Hadoop/GFS/DFS,它通过HTTP-WEB为上层应用系统(KASS文档管理系统及各种其他应用系统)提供底层文件存储服务,搭建企业私有云存储服务平台. KFS分布式文件系统提供的核心价值:?     ●    使用多台KFS服务器共同搭建统一的文件逻辑树 ?       ●    支持KFS服务器集群及文件副本实现系统高可靠性 ?       ●

NFS - Network File System网络文件系统

NFS(Network File System/网络文件系统): 设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务): NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享: NFS为C/S架构: NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享. NFS在文件传送或信息传送过程中依赖于RPC协议.