AIGameAIGame
首页
API文档
UI框架
下载软件
首页
API文档
UI框架
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
      • 03.节点 - Node
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $date - 日期工具
    • $device - 设备信息
    • $ext - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
      • 01.可调节悬浮窗 - AdjFloaty
      • 02.系统级悬浮窗 - SysFloaty
      • 03.应用级悬浮窗 - AppFloaty
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $permit - 权限工具
    • $qr - 二维码工具
    • $res - 资源管理器
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读
    • $yolo - 目标检测
    • $yolox - 目标检测

$file

  • 更新时间:2025-07-27 23:09:36

文件系统

uri(path)

获得Uri对象

通过文件提供器{FileProvider}来解析文件路径,获得{Uri}对象。

如果你想单纯的解析字符串构建Uri对象,那么可以使用$http.uri("uriStr");函数

  • 参数 : path {String} 路径
  • 返回 : {Uri} Uri对象
  • 版本 : 1.3.7
//一般用来获取图片uri
let uri = $file.uri("/storage/emulated/0/Pictures/小红.png");

open(path)

获得File对象

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {File} 文件对象
  • 版本 : 1.0.0
let file = $file.open("_res_");
alert("文件对象",file);///storage/emulated/0/Pictures/API教学/_res_

isFile(path)

是否是文件

如果文件不存在,那么就返回false

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否是文件
  • 版本 : 1.0.0
//是否是文件
log($file.isFile("_res_"));//false
log($file.isFile("main.js"));//true

isDir(path)

是否是文件夹

  • 参数 : path {string} 路径
  • 返回 : {boolean} 是否是文件夹
  • 版本 : 1.0.0
//是否是目录
log($file.isDir("_res_"));//true
log($file.isDir("main.js"));//false

isEmptyDir(path)

是否是空文件夹

如果文件不存在,则返回false

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否是空文件夹
  • 版本 : 1.0.0
//是否是空目录
log($file.isEmptyDir("_res_"));//false
log($file.isEmptyDir("_xml_"));//true

isEmpty(path)

是否是空文件或文件夹

如果不存在则返回false

如果是文件则判断文件内容是否为空

如果是文件夹则判断文件夹是否为空

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否是文件夹
  • 版本 : 1.0.0
//是否是空文件或文件夹
log($file.isEmpty("_res_"));//false
log($file.isEmpty("_xml_"));//true
log($file.isEmpty("main.js"));//false

join(parent, child)

路径拼接

  • 参数 : parent {string} 路径(不支持相对路径)
  • 参数 : child {string} 路径(不支持相对路径)
  • 返回 : {string} 路径
  • 版本 : 1.0.0
let path = $file.join("sdcard", "Pictures");
alert("路径",path);

join(path)

拼接路径

  • 参数 : path {string[]} 路径数组(不支持相对路径)
  • 返回 : {string} 路径
  • 版本 : 1.0.0
let path = $file.join(["sdcard", "Pictures", "我的项目", "res"]);
alert("路径",path);

create(path)

创建文件

如果目录不存在,则会自动创建目录

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否创建成功(文件存在会返回false)
  • 版本 : 1.0.0
$file.create("_xml_/res/test.js");

mkdir(path)

创建目录

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否创建成功
  • 版本 : 1.0.0
$file.mkdir("_xml_/kir");

exists(path)

路径是否存在

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {boolean} 是否存在
  • 版本 : 1.0.0
$file.create("./测试文件夹/a.js");
if($file.exists("./测试文件夹/a.js")){
    alert("文件","路径存在");
}

ensureDir(path)

确保文件夹存在

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {string} 路径
  • 版本 : 1.0.0
//创建目录:/测试文件夹/demo
$file.ensureDir("./测试文件夹/demo/a.js");

read(path)

读取文件

此方法:可用于指定项目安装地址

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {string} 文本内容
  • 版本 : 1.0.0
//开始读取文件
let content = $file.read("./main.js");
alert("内容",content);

read(path, encoding)

读取文件

  • 参数 : path {string} 路径(支持相对路径)
  • 参数 : encoding {string} 编码
  • 返回 : {string} 文本内容
  • 版本 : 1.0.0
let content = $file.read("./main.js","gbk");
alert("内容",content);

reads(path)

读取文件行

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {string[]} 文件行列表
  • 版本 : 1.0.0
let list = $file.reads("./main.js");
alert("内容",list);

readByte(path)

读取文件字节

  • 参数 : path {string} 路径
  • 返回 : {byte[]} 文件字节
  • 版本 : 1.0.0
let data = $file.readByte("./main.js");
log("内容:",data);

write(content, path)

写入文件

  • 参数 : content {string} 内容
  • 参数 : path {string} 路径(支持相对路径)
  • 版本 : 1.0.0
$file.write("我是内容","./_xml_/a.js");

write(content, path, encoding)

写入文件

  • 参数 : content {string} 内容
  • 参数 : path {string} 路径
  • 参数 : encoding {string} 编码
  • 版本 : 1.0.0
$file.write("我是内容","./_xml_/a.js","GBK");

writes(lines, path)

写入行数据

  • 参数 : lines {string[]} 行数据
  • 参数 : path {string} 路径(支持相对路径)
  • 版本 : 1.0.0
$file.writes(["我是内容1","我是内容2","我是内容3"],"./_xml_/a.js");

add(content, path)

追加文件

  • 参数 : content {string} 内容
  • 参数 : path {string} 路径(支持相对路径)
  • 版本 : 1.0.0
$file.add("我是新的内容\n","./_xml_/a.js");

adds(lines, path)

追加行数据

  • 参数 : lines {string[]} 行数据
  • 参数 : path {string} 路径(支持相对路径)
  • 版本 : 1.0.0
//无需换行符号,自动换行
$file.adds(["追加01","追加02","追加03"],"./_xml_/a.js");

writeByte(bytes, path)

写入文件

  • 参数 : bytes {byte[]} 内容
  • 参数 : path {string} 路径(支持相对路径)
  • 版本 : 1.0.0
$file.writeByte([09,46,36,7,89,34],"./_xml_/mFile.txt");

copy(src, dest)

拷贝文件

  • 参数 : src {string} 源(支持相对路径)
  • 参数 : dest {string} 目标(支持相对路径)
  • 版本 : 1.0.0
$file.copy("./_xml_/mFile.txt","_res_/a.txt");

move(src, dest)

移动文件或文件夹

  • 参数 : src {string} 源文件夹(支持相对路径)
  • 参数 : dest {string} 目标文件夹(支持相对路径)
  • 版本 : 1.0.0
//把位于_modules_文件夹下的所有文件都移动到_xml_下
//注意传入的都是目录(可以是相对路径)
let ok = $file.move("_modules_","_xml_");
if(ok){
    alert("移动文件","成功");
}else{
    alert("移动文件","失败");
}
//移动文件的话,src必须是存在的(支持相对路径)
let ok = $file.move("_res_/code.js","/");
if(ok){
    alert("移动文件","成功");
}else{
    alert("移动文件","失败");
}

rename(src, dest)

重命名文件

  • 参数 : src {string} 源
  • 参数 : dest {string} 目标
  • 返回 : {boolean} 是否重命名成功
  • 版本 : 1.0.0
let ok = $file.rename("run.js","_res_/code.js");
if(ok){
    alert("重命名","成功");
}else{
    alert("重命名","失败");
}

size(path)

获取文件大小

如果文件不存在,则返回0b

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {number} 文件大小
  • 版本 : 1.0.0
let size = $file.size("./_xml_/mFile.txt");
alert("文件大小",size);//6(字节)

sizeStr(path)

获取文件大小

如果文件不存在,则返回0b

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {string} 文件大小(格式化单位)
  • 版本 : 1.0.0
let size = $file.sizeStr("./_xml_/mFile.txt");
alert("文件大小",size);//6 B

name(path)

文件名称

  • 参数 : path {string} 路径
  • 返回 : {string} 文件名称
  • 版本 : 1.0.0
let fn = $file.name("./_xml_/mFile.txt");
alert("文件名称",fn);//mFile.txt

mainName(path)

文件名

不包含后缀名

  • 参数 : path {string} 路径
  • 返回 : {string} 文件名称
  • 版本 : 1.0.0
let fn = $file.mainName("./_xml_/mFile.txt");
alert("文件名称",fn);//mFile

ext(path)

后缀名

  • 参数 : path {string} 路径
  • 返回 : {string} 文件名称
  • 版本 : 1.0.0
let fn = $file.ext("./_xml_/mFile.txt");
alert("文件名称",fn);//txt

sd()

获得sdcard路径

  • 返回 : {string} sdcard路径
  • 版本 : 1.0.0
let path = $file.sd();
alert("SDCard路径",path);///storage/emulated/0

del(path)

删除文件或文件夹

递归删除文件或者文件夹,如果没有删除成功,则内部会有三次重试机制,强制进行删除

  • 参数 : path {string} 文件路径(支持相对路径)
  • 返回 : {boolean} 是否删除成功
  • 版本 : 1.0.0
//删除目录
$file.del("_tools_");
//删除文件
$file.del("main.js");

ls(path)

罗列文件

  • 参数 : path {string} 路径(支持相对路径)
  • 返回 : {list[string]} 文件路径集合
  • 版本 : 1.0.0
let arr = $file.ls("_res_");
for(let path of arr){
    log(path);
}

ls(path, filter)

罗列文件

  • 参数 : path {string} 路径(支持相对路径)
  • 参数 : filter {(path)=>{return true;}} 过滤函数
  • 返回 : {list[string]} 文件路径集合
  • 版本 : 1.0.0
let arr = $file.ls("_res_",(path)=>{
    //过滤器
    return true;
});
for(let path of arr){
    log(path);
}
最近更新: 2025/5/14 08:43
Contributors: 孑小白
Prev
$fc - 文件选择器
Next
$floaty - 悬浮窗