$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);
}