zoukankan      html  css  js  c++  java
  • Node.js安装及文件的读写

    2.1.安装Node环境·查看当前Node环境的版本号

    • 下载: https://nodejs.org/en/download/
    • 安装
      • 傻瓜式的一路next就可以了
      • 对于已经安装过的,重新安装就会升级
    • 确认Node环境是否安装成功
    node -v
    或
    node --version
    

    在这里插入图片描述

    • 环境变量

    2.2.Hello World

    1. 创建编写JavaScript脚本文件
    2. 打开终端,定位到脚本文件所属目录
    3. 输入node文件名执行对应的文件

    注意:文件名不要使用node.js 来命名,否则执行 node 文件名 会打开文件。也就是说除node这个名字你随便起,而且最好也不要使用中文。

    案例1:新建名为00-helloworld.js的文件,写入

    var foo = 'hello nodejs'
    
    console.log(foo)
    
    • cmd窗口输出或gitbash或vscode自带的终端执行
    node 00-helloworld.js
    

    在这里插入图片描述

    案例2:没有DOM和BOM

    • 在 Node 中,采用 EcmaScript 进行编码
    • 没有 BOM、DOM
    • 和浏览器中的 JavaScript 不一样
    console.log(window)
    console.log(document)
    

    在这里插入图片描述

    • 这里的报错信息类似于浏览器后台中的报错(F12那里的),这里报错是:引用错误,Window没有定义

    • 在node中是没有DOM和BOM的

    • 解析执行JavaScript

    • 读写文件

    • http

    案例3:读取文件

    • 浏览器中的 JavaScript 是没有文件操作的能力的
    • 但是 Node 中的 JavaScript 具有文件操作的能力
    • fs 是 file-system 的简写,就是文件系统的意思
    • 在 Node 中如果想要进行文件操作,就必须引入 fs 这个核心模块
    • fs 这个核心模块中,就提供了所有的文件操作相关的 API
    • 例如:fs.readFile 就是用来读取文件的
    1. 使用 require 方法加载 fs 核心模块
    var fs = require('fs')
    
    1. 读取文件
      • 第一个参数就是要读取的文件路径
      • 第二个参数是一个回调函数
        • 成功
          • data 数据
          • error null
        • 失败
          • data undefined没有数据
          • error 错误对象
    • error
      如果读取失败,error就是错误对象
      如果读取成功,error就是null
    • data
      如果读取成功,data就是读取到的数据
      如果读取失败,error就是错误对象
    fs.readFile('./data/hello.txt', function (error, data) {
    	console.log(data)
    })
    
    • 在新建的 hello.txt 文件中写入
    hello nodejs
    你好,Node.js
    
    • 执行 node 02-读取文件
    var fs = require('fs')
    fs.readFile('./data/hello.txt', function (error, data) {
    	console.log(data)
    })
    

    在这里插入图片描述

    <Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a 0d 0a>
    
    • 文件中存储的其实都是二进制数据 0 1
    • 这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
    • 但是无论是二进制01还是16进制,人类都不认识
    • 所以我们可以通过 toString 方法把其转为我们能认识的字符
    var fs = require('fs')
    fs.readFile('./data/hello.txt', function (error, data) {
    	console.log(data.toString())
    })
    
    • 执行 node 02-读取文件

    在这里插入图片描述

    案例4:写文件

    • 第一个参数:文件路径
    • 第二个参数:文件内容
    • 第三个参数:回调函数 error,这里只接受一个函数,error是形参,也可以去其他名
      • 成功:
        • 文件写入成功
        • error 是 null
      • 失败:
        • 文件写入失败
        • error 就是错误对象
    var fs = require('fs')
    
    fs.writeFile('./data/你好.md', '大家好,给大家介绍一下,我是Node.js', function (error) {
      console.log('文件写入成功')
    })
    

    注意:可以在vscode中右击文件名直接打开所在的终端位置或快捷键 Ctrl+Alt+O
    在这里插入图片描述

    • 执行:
      在这里插入图片描述

    • 此时可以看到:这里执行后会直接创建这个 你好.md 文件并且写入内容
      在这里插入图片描述

    案例5:读取不存在的文件

    • a.txt 没有被创建的情况下
    var fs = require('fs')
    fs.readFile('./data/a.txt', function (error, data) {
    })
    
    • 执行后无任何提示

    在这里插入图片描述

    • 已经创建好的hello.txt,查看是否有错误
    var fs = require('fs')
    fs.readFile('./data/hello.txt', function (error, data) {
    	console.log(error)
    })
    
    • 执行,说明读取成功了

    在这里插入图片描述

    • 改为不存在的 a.txt
    var fs = require('fs')
    fs.readFile('./data/a.txt', function (error, data) {
    	console.log(error)
    })
    
    • 执行,说明读取失败了

    在这里插入图片描述
    error是错误对象,data是真正的数据

    var fs = require('fs')
    fs.readFile('./data/a.txt', function (error, data) {
    	console.log(error)
    	console.log(data)
    
    	console.log(data.toString())
    })
    

    undefined 没有 toString这个属性
    在这里插入图片描述

    • 成功
      • data 数据
      • error null
    • 失败
      • data undefined 没有数据
      • error 错误对象

    加上错误判断

    • a.txt没有被创建,在这里就可以通过判断 error 来确认是否有错误发生
    var fs = require('fs')
    fs.readFile('./data/a.txt', function (error, data) {
    	 if (error) {
        console.log('读取文件失败了')
        // return
      		} else {
        console.log(data.toString())
      	}
    })
    

    在这里插入图片描述

    写入文件失败

    • 此时文件名为 ?.txt,因为在Windows中特殊字符不能作为文件命名
    var fs = require('fs')
    fs.writeFile('./data/?.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
       console.log(error)   // 查看是否有错误
    

    在这里插入图片描述

    文件写入成功

    var fs = require('fs')
    fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
       console.log(error)   // 查看是否有错误
    

    在这里插入图片描述
    error = null 说明文件写入成功

    • 加上判断
    var fs = require('fs')
    fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
    
       if (error) {
        console.log('写入失败')
      } else {
        console.log('写入成功了')
      }
    

    在这里插入图片描述

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254836.html

  • 相关阅读:
    消息中间件 kafka rabbitmq 选型差异
    kafka生产部署
    logback不同业务的日志打印到不同文件
    Java并发编程核心概念一览
    大数据分析常用去重算法分析『Bitmap 篇』
    java 堆调优
    大规模使用 Apache Kafka 的20个最佳实践
    es定期删除数据
    HTTP协议中源端口和目标端口的问题
    How to duplicate the records in a MongoDB collection
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254836.html
Copyright © 2011-2022 走看看