zoukankan      html  css  js  c++  java
  • NodeJs操作文件-写入、修改、删除、追加、读取文件内容、判断文件是否存在

    NodeJs操作file常用方法:

    var fs = require('fs');
    
    //写入文件
    fs.writeFile("test.txt", "hello world! maxinhai is good coder!", function(err) {
        if(err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });
    
    //向文件追加内容
    fs.appendFile("test.txt", "人间失格", 'utf-8', function(err) {
    	if(err) {
    		console.log(err);
    		return false;
    	}
    	console.log('写入成功!!!');
    });
    
    //读取文件
    fs.readFile("test.txt", function(err, data) {
    	if(err) {
    		console.log(err);
    		return false;
    	}
    	console.log(data.toString());
    });
    
    //unlink删除文件  
    fs.unlink('test.txt',function(err) {
        if(err){
            console.log(err);
            return false;
        }
        console.log('删除文件成功');
    });
    
    //判断文件/目录是否存在
    fs.access('test.txt',(err)=>{
        console.log(err ?  '目录/文件不存在': '文件存在,可以进行读写');
    });
    

      

    修改文件指定内容:

    编写这段代码的背景是我要定时同步数据,需要记录上次同步数据到那个时间点了,所以文件里只存了时间;

    //获取时间
    function getDateTime() {
    	var date = new Date();
    	var year = date.getFullYear();
    	var month = date.getMonth()+1;
    	var day = date.getDate();
    	var hour = date.getHours();
    	var minute = date.getMinutes();
    	var second = date.getSeconds();
    	var dateTime = year+'年'+month+'月'+day+'日 '+hour+':'+minute+':'+second;
    	return dateTime;
    }
    
    //修改文件内容
    let dateTime = getDateTime();
    let date = `${dateTime}`;
    console.log('startTime', date);
    //1.先写入时间
    fs.writeFile('date.txt', date, (err) => {
      if (err) throw err;
      console.log('写入时间',dateTime);
    });
    
    function changeDateTime() {
    	//2.再修改时间
    	dateTime = getDateTime();
    	date = `${dateTime}`
    	fs.writeFile('date.txt', date, (err) => {
    	  if (err) throw err;
    	  console.log('圆满解决颜色替换', dateTime);
    	});
    	
    	//读取文件
    	fs.readFile("date.txt", function(err, data) {
    		if(err) {
    			console.log(err);
    			return false;
    		}
    		console.log('修改后时间',data.toString());
    	});
    }
    
    //模拟隔一段时间再去写入
    setTimeout(changeDateTime, 1500);
    

    上面代码并不能达到修改指定内容的功能,请看下面:

    //修改文件内容
    let dateTime = getDateTime();
    let date = `{date:${dateTime}, msg:hello world}`;
    console.log('startTime', date);
    //1.先写入时间
    fs.writeFile('date.txt', date, (err) => {
      if (err) throw err;
      console.log('写入时间',dateTime);
    });
    
    function changeDateTime() {
    	//2.再修改时间
    	dateTime = getDateTime();
    	date = `{date:${dateTime}, msg:hello javaScript}`
    	fs.writeFile('date.txt', date, (err) => {
    	  if (err) throw err;
    	  console.log('圆满解决颜色替换', dateTime);
    	});
    	
    	//读取文件
    	fs.readFile("date.txt", function(err, data) {
    		if(err) {
    			console.log(err);
    			return false;
    		}
    		console.log('修改后时间',data.toString());
    	});
    }
    
    //模拟隔一段时间再去写入
    setTimeout(changeDateTime, 1500);
    

    这种方式无疑是很有局限性的,修改时想要保证文件内容不丢失,创建对象时必须填写全部数据,比较适合文件内容比较小的情况;

  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/mxh-java/p/11598742.html
Copyright © 2011-2022 走看看