node学习笔记3——文件操作fs

时间:2021-08-14 22:34:12

文件操作关键字:

http('fs') ——  请求 node 里面的 http 模块

readFile ——  读文件,参数包括 文件名,回调函数
writeFile ——  写文件,参数包括 文件名,修改的内容,回调函数
 
先看一下文件目录:
node学习笔记3——文件操作fs
 
来个新鲜出炉的 关于readFile 的栗子:
const fs = require('fs');
//readFile(文件名,回调函数)
fs.readFile('aaa.txt',function (err,data) {
if(err){
console.log('读取失败');
}else{
console.log(data);
}
});

aaa.txt里面的内容如下图:

node学习笔记3——文件操作fs

此时我们执行fs.js,返回结果如下图:

node学习笔记3——文件操作fs

这里的Buffer表示输出的是 原始的二进制数,我们可能通过 data.toString()返回实际的字符串。

再来个色香味具全的 关于wtriteFile 的栗子:

//writeFile(文件名,修改的内容,回调函数)
fs.writeFile('bbb.txt','快滚去学习',function (err) {
console.log(err);
})

bbb.txt里面的内容如下图:

node学习笔记3——文件操作fs

此时我们执行该js之后,可以看到bbb.txt里面的文字变成了 “快滚去学习”。

node学习笔记3——文件操作fs

fs这样使用没有任何意义,上面2个例子只是为了加深对readFile及writeFile的理解。我们应该跟数据库绑定到一起使用才能发挥它的价值。上一节我们讲了如何搭建服务器

我们怎么将fs与createServer结合起来呢?

上代码:

const http=require('http');
const fs=require('fs'); var server=http.createServer(function(req,res){
var file_name='./www'+req.url; fs.readFile(file_name,function(err,data){
if(err){
res.write('读取失败');
}else{
res.write(data);
}
res.end()
})
}); server.listen(8090)

目录结构如下图:

node学习笔记3——文件操作fs

a.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
div{width: 100px;height: 100px;background-color: #ccc}
</style>
</head>
<body>
<div> </div>
</body>
</html> 

浏览器里面输入:http://localhost:8090/a.html

返回结果如下:

node学习笔记3——文件操作fs

node学习笔记3——文件操作fs的更多相关文章

  1. NodeJS学习笔记 &lpar;2&rpar;文件系统操作-fs&lpar;ok&rpar;

    原文:https://github.com/chyingp/nodejs-learning-guide/blob/master/%E6%A8%A1%E5%9D%97/fs.md#%E9%80%9A%E ...

  2. 【java学习笔记】文件操作

    文件操作 java.io.File ①创建删除文件及目录 ②查看文件及目录属性 ③文件过滤器 (PS:不包括文件读写数据) 1.单个文件 创建单个文件,查看属性,删除单个文件. package tmp ...

  3. python学习笔记&lpar;三&rpar;&colon;文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  4. Java 学习笔记&lpar;14&rpar;—— 文件操作

    java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中.Java中流可以理解为一个有序的字符序列,从一端导向到另一端.建立了一个流 ...

  5. python学习笔记之文件操作&lpar;三&rpar;

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  6. python学习笔记4&lpar;文件操作&rpar;

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  7. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  8. python的学习笔记01&lowbar;5文件操作

    一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...

  9. C&plus;&plus; 学习笔记之——文件操作和文件流

    1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...

随机推荐

  1. Android混合开发之WebViewJavascriptBridge实现JS与java安全交互

    前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...

  2. 高性能CSS&lpar;一)

    避免使用@import 有两种方式加载样式文件,一种是link元素,另一种是CSS 2.1加入@import.而在外部的CSS文件中使用@import会使得页面在加载时增加额外的延迟.虽然规则允许在样 ...

  3. 系统运维-hub&comma; repeater&comma; switch&comma; router初览

    repeater, hub, switch, router都是针对与osi的7层网络模型的不同层而产生的设备,逐一概览如下: repeater:中继器 是网络物理层的一种连接设备,工作在osi的物理层 ...

  4. Qt 5入门指南之Qt Quick编程示例

    编程示例 使用Qt创建应用程序是十分简单的.考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了 不同的方法.在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且 ...

  5. Android项目——触摸按键控制LED

    一.Android Studio应用编程 1.应用程序界面layout对应的界面是activity_main.xml,后台对应的java文件是MainActivity.java,修改activity_ ...

  6. python远程连接windows

    远程连接windows系统     https://blog.51cto.com/ckl893/2145809 import winrm win2008 = winrm.Session('http:/ ...

  7. Windows下使用Rtools编译R语言包

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 下载地址:htt ...

  8. Mybatis之mapper&period;xml配置文件中的&num;&lbrace;&rcub;和&dollar;&lbrace;&rcub;

    #{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换.#{}可以有效防止sql注入. #{}可以接收简单类型值或pojo ...

  9. Android Fragment的用法(二)

    如果你经常使用平板电脑,应该会发现很多的平板应用现在都采用的是双页模式(程序会在左侧的面板上显示一个包含子项的列表,在右侧的面板上显示内容),因为平板电脑的屏幕足够大,完全可以同时显示下两页的内容,但 ...

  10. NISP视频知识点总结

    身份认证访问控制安全审计本章实验 ===密码学=====古典密码 算法本身的保密性近代密码 机械密码\机电 密码打字密码机轮转机现代密码 基于密钥公钥密码 公钥==================对称 ...