首页 > 其他分享 >aardio:fsys文件操作

aardio:fsys文件操作

时间:2023-11-16 18:13:52浏览次数:18  
标签:文件 aardio 路径 hello fsys txt 目录

参考标准库/fsys文件操作/默认库

1、获取项目根目录的位置

getCurDir() = 获取当前目录。

当前目录易被改动,导致相对路径(例如 "./res/")位置变化。

路径首字符用单个斜杠或反斜杆表示「应用程序根目录」的写法更可靠,例如:(例如 "/res/")。

很多组件(例如文件对话框)都可能会悄悄改变当前目录

import fsys;
console.log(fsys.getCurDir() );

2、创建目录

createDir(.("目录路径",是否清空重建) = 创建目录并返回创建成功的完整文件路径,可创建多层目录,参数二可选

fsys.createDir("dir",true)

创建多层目录

fsys.createDir("dir\dirInner",true)

判断是否目录

isDir("__/*路径*/")  = 路径是否目录,调用attrib检查目标路径是否具有_FILE_ATTRIBUTE_DIRECTORY属性,参数为空字符串或 null 返回 false,包含不可见字符的错误路径可用「工具>文本文件>十六进制编辑器」,或 string.hex 函数查看

var dir1 = fsys.createDir("dir",true)
if(fsys.isDir("dir")){
    console.log("是目录")
} else {
    console.log("不是目录")    
}

3、删除文件或目录

delete( = 删除文件或目录,成功返回 true,删除含畸形路径的目录请改用 fsys.remove 函数。此函数失败返回 false 时可用 fsys.opError 获取错误代码

删除文件

fsys.delete("hello.txt")

删除目录以及目录下的文件

fsys.delete("dir")

4、移动文件或目录

move(.(源路径,目标路径,FOF选项,进度标题,父窗口句柄) = 移动文件或目录,

源路径参数可以是多个路径组成的数组,其他参数可选。如果目标路径已存在或源路径含通配符则移动到目标目录下面,否则复制文件或目录到参数@2指定的目标路径。如果目标路径的父目录可能不存在,请先用 io.createDir 创建该目录,FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0,则显示操作界面与错误信息

将hello.txt文件移动到dir目录下

fsys.move("hello.txt","/dir")

5、复制文件或目录

copy(.(源路径,目标路径,FOF选项,进度标题,父窗口句柄) = 复制文件或目录,

源路径参数可以是多个路径组成的数组,其他参数可选。如果目标路径已存在或源路径含通配符则复制到目标目录下面,否则复制文件或目录到参数@2指定的目标路径。如果目标路径的父目录可能不存在,请先用 io.createDir 创建该目录

FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0\n则显示操作界面与错误信息

将hello.txt文件复制到dir目录下

fsys.copy("hello.txt","/dir")

6、重命名文件或目录

rename(.(源路径,目标路径,FOF选项) = 重命名文件或目录,其他参数可选

FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0,则显示操作界面与错误信息

fsys.rename("hello.txt","hi.txt")

7、搜索当前目录下的文件

list(.("目录路径","模式匹配","通配符") = 搜索当前目录下的文件,不搜索子目录下的文件,返回符合条件的文件名数组,子目录数组,以及全部子目录数组。注意有三个返回值,数组中使用文件名为键存放对应完整路径的值。除参数@1以外其他参数可选,参数@2使用模式匹配语法匹配文件名,模式匹配会成为第三个返回值的匹配条件,通配符默认值是"*.*",也可以传入包含多个通配符的数组,通配符对第三个返回值无效

var res = fsys.list(fsys.getCurDir())
console.dumpTable(res)

注意:是文件,不是目录。

8、打开或创建文件对象

fsys.file("__/*文件路径*/","w+") = 读写模式打开,创建新文件清空原文件

示例

import fsys.file;
var fp = fsys.file("hello.txt","w+");
fp.close()

此时项目根目录下就会生成一个hello.txt文件

9、读取文件的内容

console.log(string.load("hello.txt"))

结果:hello world!

显示前5个字节的内容

import fsys.file;
file = fsys.file("hello.txt","r")
console.log( file.read(5) )

结果:hello

10、向文件中写入内容

string.save("hello.txt","2023-11-16")

11、解压 zip 文件

将hello.zip文件解压到my目录

import zlib.unzip;
var ok,err = zlib.unzip.extract( "hello.zip","/my",
    function(fileName,extractPath,fileInfo,size,unitSize,unitName){
        if( size !== null )
            ..console.log( "正在解压文件",fileName,size++ unitName );
        else {
            ..console.log( "正在解压目录",fileName );
        }
        
        return true;
    }
)

12、遍历目录

遍历该目录下的所有文件和目录,以及子目录下的文件和目录

//批量处理文件
fsys.enum( fsys.getCurDir(), //指定
    "*.*", //指定查询文件名,支持通配符,也可以用一个数组指定多个查询文件名
    function(dirname,filename,fullpath,findData){
        //可使用 return false 退出枚举过程
        
        if(filename){ 
            console.log("发现文件:",filename )
            console.log("完整路径",fullpath )
            
            /*
            可以用 fsys.replace 函数替换文件内容,
            fsys.replace(fullpath,"查找的内容\d+","替换的内容",替换次数)
            
            fsys.replace 支持二进制文件或 UTF-8 文本文件,
            其他编码用 fsys.codepage 加载文件后用 string.replace() 函数替换。
            或者用 fsys.batch 实现批量处理并且支持自动处理编码转换。
            */
        }
        else{
            console.log("发现目录:",dirname)
        }
    } ,/*如果此参数为false则忽略子目录*/
);

 

标签:文件,aardio,路径,hello,fsys,txt,目录
From: https://www.cnblogs.com/zwh0910/p/17836446.html

相关文章

  • AWS上部署容器化应用:EC2和Fargate挂载EFS文件系统的步骤详解
    在云计算领域,AWS(AmazonWebServices)一直是业界领先的云服务提供商之一。在AWS上,我们可以轻松地部署和管理各种应用程序,包括容器化的应用。本篇博文将介绍如何在AWS上创建EFS文件系统,并演示如何在EC2和AWSFargate上挂载这个文件系统。步骤一:创建EFS文件系统首先,登录AWS管理控制台,......
  • CSV文件中含有逗号和双引号的文本如何在Excel中正确的显示
    在工作中将文本保存为CSV格式遇到过一个问题,当文本中含有逗号和双引号的时候,用Excel打开这个文件,文本的内容显示会出现问题。当文本含有逗号时,Excel打开csv文件会默认逗号为分隔符,将一个文本分割成几个单位格显示。如下图: 图1.记事本打开是正常的   图2.Excel中打开后文......
  • MarkDown文件插入公式(常用格式)
    1、插入公式markdown支持插入公式,书写公式需要按照特定格式来写,涉及到希腊字母、符号、角标、基本语法等内容需要熟悉,1.1句中插入公式表达式前后插入$即可,比如$\alpha$,显示为$\alpha$1.2公式独立一行大公式或者复杂公式适合独立一行显示,表达式前后插入$$即可,写的时候也在......
  • shell脚本定义变量和文件路径拼接
    在shell脚本定义变量为xx="xxx"例如把一个路径或文件名定义为一个变量inputPath="/mnt/RNASeq/Result"fileName="202308071824_210901003_2D230327074US2S2745DX"在路径"/mnt/RNASeq/Result"下面有多个文件夹,例如:L01、L02、···每个文件夹下存在多个fa文件,例如“2023080......
  • 网络文件共享服务
    存储类型:DAS:直连式存储NAS:网络附件存储——存储和管理空间都在远程SAN:存储区域网络——可以使用空间,管理也是你来管理双通道的协议:FTP端口号:20:传输权限元信息——命令通道21:实际数据——数据通道vsftpd/etc/vsftpd/vsftpd.conf如果你在网络共享服务中有上传的或者写的......
  • c语言学习(文件)练习43
    需求:将10000以二进制的形式存入文件中#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){ inta=10000; FILE*pf=fopen("D:\\桌面\\test.txt","wb"); fwrite(&a,1,1,pf); fclose(pf); pf=NULL; return0;} ......
  • 文件的内容特征
    1.bat特征2.dllPE文件的全称是PortableExecutable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)和其它可执行文件格式一样,PE文件在众所周知的地方有一些定义文件其余部分面貌的域Signature字......
  • 创建目录和文件
    mkdir基本概述mkdir命令来自英文词组”makedirectories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需......
  • Idea配置mybatis核心配置文件模板
    在我们日常开发中不可能将mybatis相关配置文件全部记住,我们这里通过在idea中配置模板快捷生成(本文演示idea版本为2022.02.01)。方法如下:1.进入idea设置File->settings2.选择Editor->FileandCodeTemplates->Files3.点击“+”创建模板,对模板命名,设置模板类型,设置模板默认名字(模板中......
  • SpringBoot 中大文件(分片上传)断点续传与极速秒传功能的实现
    1.背景在实际项目中,我们经常会遇到需要上传大文件的情况,常见的方法是将整个文件一次性上传,在文件较大时会出现上传速度慢或者可能导致上传失败等问题。针对这种情况,通常可以采用分片上传的方式,将文件分为多个小片段进行上传,降低单个上传请求的负载,提高上传效率。同时,考虑到用户......