当前位置: 首页 > news >正文

做个网站的价格桂林seo顾问

做个网站的价格,桂林seo顾问,免费学校网站建设,昆山做网站公司有哪些FileSystem对象中包含文件和文件夹的一些基本和常见的操作接口。比如:判断路径是否存在、创建文件夹、创建文件、读取文件等等。他的出现可以取代文件流对txt或csv等文件的操作。官方文档网址:https://open.wps.cn/previous/docs/client/wpsLoad&#xf…

FileSystem对象中包含文件和文件夹的一些基本和常见的操作接口。比如:判断路径是否存在、创建文件夹、创建文件、读取文件等等。他的出现可以取代文件流对txt或csv等文件的操作。官方文档网址:https://open.wps.cn/previous/docs/client/wpsLoad(可点击wps宏编辑器中的帮助进入)

一、在wps编辑器中查看FileSystem中的属性和方法

function Main(){for(let key in FileSystem){console.log("方法/属性名称:" + key + " 类型:" + typeof FileSystem[key])}
}

效果图如下所示:

官方文档说明表格如下所示:

名称说明

AppendFile

往文件末尾添加数据

copyFileSync

生成文件副本

Exists

判断一个文件和文件夹是否存在。

existsSync

判断目录是否存在

Mkdir

根据给定的path创建一个文件夹。

mkdirSync

创建目录

mkdtempSync

创建临时目录

readAsBinaryString

读取指定路径的文件,返回二进制字符串数据。

readdirSync

获取目录下的子目录对象数组(包含目录相关属性)

ReadFile

获取文件的内容

readFileString

读取指定路径的文件,返回字符串。

Remove

删除指定的path所代表的文件或文件夹。

rmdirSync

删除目录

tmpdir

获取系统的临时文件目录

unlinkSync

删除文件

writeAsBinaryString

写二进制字符串对象到指定文件。

WriteFile

创建文件

writeFileString

写字符串到指定路径的文件。

二、代替Open文件流的方法详解

1、WriteFile方法

官方文档给出的语法:express.WriteFile(FilePath)

然而如果你按照该语法调用会发现:

是的,他还有第二个参数。没办法,WPS的官方文档就是这样,不能全信,但还是要看。

他的第二个参数,data:是你要写入的内容,如果创建空文件,传入空字符串即可。

function Main(){let path = "E:\\w_js\\新建";FileSystem.WriteFile(path + "\\myText.txt", "mydata");
}

当文件不存在时,会新建文件,上述代码中:如果myText.txt文件不存在于文件夹新建中,就会新建一个名称时myText.txt的文件,并写入mydata。

当文件已经存在,执行该方法时也不会报错提示文件已经创建,而是直接向已有文件中写入数据。

所以:官方文档中对WriteFile方法的解释存在问题,它不仅可以创建文件,也可以向文件中写入数据。

此外,WriteFile方法是有返回值的,返回值是boolean值,始终是ture,没什么用。

2、writeFileString方法

官方文档给出的语法:express.writeFileString(FilePathdata)

如下图所示,该语法是正确的

然而,出乎意料的是,它的作用与WriteFile一模一样,连返回值都是一样的。好在写入内容,不会像文件流一样在文本的两端添加双引号。

3、writeAsBinaryString方法

语法与上述两个方法一致,使用方法也近乎相同。不同的是,它可以写入二进制字符串对象到指定文件。示例如下:

function Main(){let path = "E:\\w_js\\新建";const buffer = new ArrayBuffer(5);const binaryData = new Uint8Array(buffer);[72, 101, 108, 108, 111].forEach((i, index)=>{binaryData[index]=i});FileSystem.writeAsBinaryString(path + "\\my.txt", binaryData);
}

显然,上述给出的是Hello的字符串编码,效果却是Hl:

是的,稀奇古怪的bug又出现了,不过,它可以使用。你不用他写入二进制字符串对象就好了。

4、追加数据的AppendFile方法

它的语法与WriteFile一致,只不过第二个参数表示追加的数据。

function Main(){let path = "E:\\w_js\\新建\\my.txt";console.log(FileSystem.AppendFile(path, "10001"));
}

输出两次true说明执行了两次,可以看到追加了两次10001.

三、判断文件或路径是否存在

1、判断文件或文件夹是否存在的Exists方法

//判断文件夹是否存在
function Main(){let path = "E:\\w_js\\新建";console.log(FileSystem.Exists(path));
}//判断文件是否存在
function Main1(){let path = "E:\\w_js\\新建";console.log(FileSystem.Exists(path + "\\my.txt"));
}

如果存在,输出true,不存在输出false。

2、判断目录是否存在的existsSync方法

existsSync与Exists的语法结构完全一致,用法也相同,输出结果也相同。

四、目录的创建与删除

1、创建文件夹的Mkdir方法

语法与全局方法MkDir相似,但是创建不成功会输出false,也就是当你尝试使用它创建多层目录时会输出false。

function Main(){let path = "E:\\w_js\\新建\\my";console.log(FileSystem.Mkdir(path));console.log(FileSystem.Mkdir("E:\\w_js\\新建\\my1\\my\\my\\my"));
}

此外还有一个作用与Mkdir完全相同的方法mkdirSync。

2、删除目录的rmdirSync

语法与Mkdir类似,只有一个参数path。如果成功删除会输出true,没有成功删除会输出false。

function Main(){let path = "E:\\w_js\\新建\\my";console.log(FileSystem.rmdirSync(path));console.log(FileSystem.rmdirSync("E:\\w_js\\新建\\my1\\my\\my\\my"));
}

与RmDir相同,它也只能删除空目录(空文件夹),而且只能删除一层。

3、删除文件的unlinkSync

它只有一个文件路径作为他的参数。示例如下:

function Main(){console.log(FileSystem.unlinkSync("E:\\w_js\\新建\\my1.txt"));
}

如果my1.txt文件存在会输出true,表示删除成功,文件不存在会输出false。

五、文件的读取

1、ReadFile方法

function Main(){console.log(FileSystem.ReadFile("E:\\w_js\\新建\\myText.txt"));
}

注意点:它在读取文件时有可能只读取出第一个字符,或者读取乱码。下面是up操作的三个示例图:

可见,只有最后一个示例它正确无误的读取了文件中的内容。据up分析与测试,该方法可能只适用于读取通过二进制写入的文件。至于具体是什么原因造成的,up也不知道,官方文档中也没有明确的解释。

2、readFileString方法

function Main(){let path = "E:\\w_js\\新建\\myText1.txt"console.log(FileSystem.readFileString(path));console.log(FileSystem.readFileString("E:\\w_js\\新建\\my.txt"));
}

注意:该方法不适用于读取二进制文件,会导致乱码

3、readAsBinaryString方法

function Main(){let path = "E:\\w_js\\新建\\myText1.txt"console.log(FileSystem.readAsBinaryString(path));console.log(FileSystem.readAsBinaryString("E:\\w_js\\新建\\my.txt"));
}

readAsBinaryString方法官方文档有解释:用于读取指定文件,返回二进制字符串数据。事实也确实如此:

4、ReadFileAsArrayBuffer方法

function Main(){let path = "E:\\w_js\\新建\\myText1.txt"console.log(JSON.stringify(FileSystem.ReadFileAsArrayBuffer(path)));
}

很明显,它返回的是一个ArrayBuffer数据。通过处理这个数据,最终可以获取文件中的内容。

六、总结

虽然该对象中的某些方法存在一些bug,但总的来说,操作文本文件或者csv文件,比文件流好用许多。对于JS宏来说,已经够用了,大家就将就将就。祝大家玩的开心。

http://www.hkea.cn/news/135130/

相关文章:

  • 动漫网站开发与建设百度网盘网页版入口官网
  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校
  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问