一:同步和异步:
所有的方法都有异步和同步的形式。
node里关于文档的操作方法基本都给了2份,即同步与异步
使用前导入核心模块fs,const fs=require("fs");
eg:
//重命名 异步
fs.rename("ok.txt","yes.txt",function(err){
if(err) throw err;
console.log("重名名成功");
}
//重命名 同步
fs.renameSync("ok.txt","yes.txt");
二:fs模块:
1:文件操作
读文件 | is.readFile() | |
写文件 | is.writeFile() | |
默认就是utf8的编码格式 | ||
追加 | fs.appendFile() | |
拷贝 | fs.copyFile() |
2:流操作:
一般读取的是大文件
读取流:
写入流:
三:path:
四:url:
const {URL}=require("url"); //花括号在左边即结构赋值,构造函数
URL {//url只属入路由的一部分
href: 'http://192.168.0.3:3000/soul/users/hb/sjz/xh.json?sex=1&[18,26]',
origin: 'http://192.168.0.3:3000',
protocol: 'http:',
username: '',
password: '',
host: '192.168.0.3:3000',
hostname: '192.168.0.3',
port: '3000',
pathname: '/soul/users/hb/sjz/xh.json', // 路由信息
search: '?sex=1&[18,26]', // 参数信息
searchParams: URLSearchParams { 'sex' => '1', '[18,26]' => '' },
}
补充:完整的url路径
以百度文库的url举例:https://www.wenku.baidu.com/search?word=%E7%99%BE%E5%BA%A6&ie=utf-8
1、协议部分
protocal 指的是返回使用的Web协议,在Internet中可以使用多种协议,如HTTP,FTP等等。
常用的有:
(1)file: 本地磁盘访问,主要是访问本地文件。
(2)http: 即HTTP协议。
(3)https: 即HTTPS 协议。
例子中URL的协议部分为“https:”,这代表网页使用的是HTTPS协议。在"https"后面需要加上“//”为分隔符。
2、域名部分
hostname 返回Web主机(域)名 IP(在Web网络下找到当前网络的地址),一个URL中,也可以使用IP地址作为域名使用。
例子中URL的域名部分为“www.wenku.baidu.com”。
3、端口部分
port 端口号(默认隐藏),跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。
通过hostname:port 可以直接定位当使用网络的程序。
端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口。
常见默认端口:
浏览器 8080
http 80
https 443
4、虚拟目录(查询路径)部分
pathname查询路径,从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。
虚拟目录也不是一个URL必须的部分。本例中无虚拟目录。
5、文件名部分
从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。
本例中文件名为"search"。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。
6、参数部分
search 参数,从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。
一般样式:?name1=value1&name2=value2
参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
本例中的参数部分为“word=%E7%99%BE%E5%BA%A6&ie=utf-8”。
7、锚部分
hash 锚点,从“#”开始到最后,都是锚部分。
本例中无锚部分。锚部分也不是一个URL必须的部分