跳到主要内容

File文件相关


判断

isFile 路径path是否是文件

参数名必选类型说明
pathstring路径
  logd(ll.file.isFile("/sdcard/文件.txt"));
返回值类型说明
true/falseboolen是否成功

isDir 路径path是否是文件夹

参数名必选类型说明
pathstring路径
  logd(ll.file.isDir("/sdcard/"));
返回值类型说明
true/falseboolen是否成功

isEmptyDir 文件夹path是否为空文件夹

参数名必选类型说明
pathstring路径
  logd(ll.file.isEmptyDir("/sdcard/"));
返回值类型说明
true/falseboolen是否成功

exists 路径path处的文件是否存在

参数名必选类型说明
pathstring路径
  logd(ll.file.exists("/sdcard/文件.txt"));
返回值类型说明
true/falseboolen是否成功

创建

create 创建一个文件或文件夹

提示
  • 如果文件已经存在,则直接返回false
参数名必选类型说明
pathstring路径
  logd(ll.file.create("/sdcard/aaa/"));
logd(ll.file.create("/sdcard/aaa/文件.txt"));
返回值类型说明
true/falseboolen是否成功

createWithDirs 创建一个文件或文件夹

提示
  • 如果文件所在文件夹不存在,则先创建他所在的一系列文件夹
  • 如果文件已经存在,则直接返回false。
参数名必选类型说明
pathstring路径
  logd(ll.file.createWithDirs("/sdcard/aaaa/bbbb/文件.txt"));
返回值类型说明
true/falseboolen是否成功

createWithDirs 创建一个文件或文件夹

参数名必选类型说明
pathstring路径
  logd(ll.file.createWithDirs("/sdcard/aaaa/bbbb/文件.txt"));
返回值类型说明
true/falseboolen是否成功

ensureDir 确保路径path所在的文件夹存在

提示
  • 如果该路径所在文件夹不存在,则创建该文件夹
参数名必选类型说明
pathstring路径
  logd(ll.file.ensureDir("/sdcard/aaa/bbb/文件.txt"));
返回值类型说明
true/falseboolen是否成功

读取

read 读取文本文件path的所有内容

参数名必选类型说明
pathstring路径
encodingstring字符编码,可选,默认为utf-8
  logd(ll.file.read("/sdcard/文件.txt"));
logd(ll.file.read("/sdcard/文件.txt","utf-8"));
返回值类型说明
文件内容string文件内容

readBytes 读取文件path的所有内容并返回一个字节数组

提示
  • 如果文件不存在,则抛出FileNotFoundException。
  • 注意,该数组是Java的数组,不具有JavaScript数组的forEach, slice等函数。
参数名必选类型说明
pathstring路径
encodingstring字符编码,可选,默认为utf-8
//以16进制形式打印文件
let data = ll.file.readBytes("/sdcard/1.png");
let sb = new java.lang.StringBuilder();
for (let i = 0; i < data.length; i++) {
sb.append(data[i].toString(16));
}
logd(sb.toString());
返回值类型说明
字节数组byte[]字节数组

readBase64 读取文件path的所有内容并返回一个base64编码字符串

参数名必选类型说明
pathstring文件路径
  logd(ll.file.readBase64("/sdcard/Pictures/1.zip"));
返回值类型说明
YWJjstingbase64编码字符串

写入

write 把text写入到文件path中

提示
  • 如果文件存在则覆盖,不存在则创建。
参数名必选类型说明
pathstring路径
textstring要写入的文本内容
encodingstring字符编码,可选,默认为utf-8
  logd(ll.file.write("/sdcard/文件.txt","要写入的文本内容"));
logd(ll.file.write("/sdcard/文件.txt","要写入的文本内容","utf-8"));
返回值类型说明
true/falseboolen是否成功

writeBytes 把bytes写入到文件path中

提示
  • 如果文件存在则覆盖,不存在则创建。
参数名必选类型说明
pathstring路径
bytesbyte[]字节数组,要写入的二进制数据
  let bytes = ll.file.readBytes("/sdcard/1.png")
logd(ll.file.writeBytes("/sdcard/2.png",bytes));

返回值类型说明
true/falseboolen是否成功

writeBase64 把base64写入到文件path中

提示
  • 如果文件存在则覆盖,不存在则创建。
参数名必选类型说明
pathstring路径
base64string要写入的base64数据
  let str = ll.file.readBase64("/sdcard/Pictures/1.zip")
ll.file.writeBase64("/sdcard/Pictures/2.zip",str)
返回值类型说明

追加写入

append 把text追加到文件path的末尾

提示
  • 如果文件不存在则创建
参数名必选类型说明
pathstring路径
textstring要写入的文本内容
encodingstring字符编码,可选,默认为utf-8
  ll.file.append("/sdcard/文件.txt","要写入的文本内容")
ll.file.append("/sdcard/文件.txt","要写入的文本内容","utf-8")
返回值类型说明

appendBytes 把bytes追加到文件path的末尾

提示
  • 如果文件不存在则创建
参数名必选类型说明
pathstring路径
bytesbyte[]字节数组,要写入的二进制数据
  let bytes = ll.file.readBytes("/sdcard/1.png");
ll.file.appendBytes("/sdcard/2.png",bytes);
ll.file.appendBytes("/sdcard/2.png",bytes);
返回值类型说明
true/falseboolen是否成功

修改

changeStartWith 修改以字符为起始的字符串中的相应文本

参数名必选类型说明
pathstring路径
startWordstring起始字符串
oldStringstring要替换的字符串
newStringstring替换成的字符串
separatorstring分割符,默认\n 可填\r\n
  //假设文件内容
//张三100元
//李四200元
//王五300元

//命令如下:
logd(ll.file.changeStartWith("/sdcard/文件1.txt","李四","200","1000"));
//或者
logd(ll.file.changeStartWith("/sdcard/文件1.txt","李四","200","1000","\r\n"));

//处理结果
//张三100元
//李四1000元
//王五300元
返回值类型说明
true/falseboolen是否成功

changeLine 修改指定行文本

参数名必选类型说明
pathstring路径
linesint指定行数
contentstring要替换的字符串
separatorstring分割符 默认\n 可填\r\n
  //正常写法
logd(ll.file.changeLine("/sdcard/文件1.txt",2,"abcd"));
//为了生成windows版本换行符
logd(ll.file.changeLine("/sdcard/文件1.txt",2,"abcd","\r\n"));
返回值类型说明
true/falseboolen是否成功

列举

listDir 列出文件夹path下的满足条件的文件和文件夹的名称的数组

提示
  • 列出文件夹path下的满足条件的文件和文件夹的名称的数组。
  • 如果不加filter参数,则返回所有文件和文件夹。
参数名必选类型说明
pathstring路径
filterfunction过滤匿名函数
//列出sdcard目录下所有文件和文件夹为:
let arr = ll.file.listDir("/sdcard/");
logd(arr);
for (let i = 0; i < arr.length; i++) {
logd(arr[i])
}

//列出脚本目录下所有js脚本文件为:
let dir = "/sdcard/脚本/";
let jsFiles = ll.file.listDir(dir, function (name) {
return name.endsWith(".js") && ll.file.isFile(ll.file.join(dir, name));
});
logd(jsFiles);
返回值类型说明
文件数组string[]文件数组

文件/目录操作

copy 复制文件

参数名必选类型说明
fromPathstring要复制的原文件路径
toPathstring复制到的文件路径
  ll.file.copy("/sdcard/文件1.txt","/sdcard/文件2.txt")
返回值类型说明
true/falseboolen是否成功

copyDir 复制文件夹

参数名必选类型说明
fromPathstring源文件夹路径
toPathstring目标文件夹路径
  ll.file.copyDir("/sdcard/1/","/sdcard/2/")
返回值类型说明
true/falseboolean是否成功

move 移动文件

参数名必选类型说明
fromPathstring要移动的原文件路径
toPathstring移动到的文件路径
  ll.file.move("/sdcard/文件1.txt","/sdcard/文件2.txt")
返回值类型说明
true/falseboolen是否成功

moveDir 移动文件夹

参数名必选类型说明
fromPathstring源文件夹路径
toPathstring目标文件夹路径
  ll.file.moveDir("/sdcard/1/","/sdcard/2/")
返回值类型说明
true/falseboolean是否成功

rename 重命名文件

参数名必选类型说明
pathstring要重命名的原文件路径
newNamestring要重命名的新文件名
  ll.file.rename("/sdcard/文件1.txt","文件2.txt")
返回值类型说明
true/falseboolen是否成功

renameWithoutExtension 重命名文件,不包含拓展名

参数名必选类型说明
pathstring要重命名的原文件路径
newNamestring要重命名的新文件名
  ll.file.renameWithoutExtension("/sdcard/文件1.txt","文件2")
返回值类型说明
true/falseboolen是否成功

remove 删除文件或空文件夹

参数名必选类型说明
pathstring路径
  ll.file.remove("/sdcard/文件.txt")
返回值类型说明
true/falseboolen是否成功

removeDir 删除文件夹

提示
  • 如果文件夹不为空,则删除该文件夹的所有内容再删除该文件夹
参数名必选类型说明
pathstring路径
  ll.file.removeDir("/sdcard/aaa/bbb/")
返回值类型说明
true/falseboolen是否成功

deleteAllEmptyDirs 删除所有空文件夹

参数名必选类型说明
pathstring路径
  ll.file.deleteAllEmptyDirs("/sdcard/aaa/bbb/")
返回值类型说明

convert 文件编码转换

参数名必选类型说明
fromFilestring源文件路径
fromEncodingstring源文件编码
toFilestring输出文件路径
toEncodingstring输出文件编码
  ll.file.convert("/sdcard/1.txt", "utf-8", "/sdcard/2.txt", "gbk");
返回值类型说明
true/falseboolen是否成功

读取属性

getName 获取文件的文件名

参数名必选类型说明
pathstring路径
  logd(ll.file.getName("/sdcard/文件.txt"));
返回值类型说明
文件.txtstring文件名

getNameWithoutExtension 获取不含拓展名的文件名

参数名必选类型说明
pathstring路径
  logd(ll.file.getNameWithoutExtension("/sdcard/文件1.txt"));

返回值类型说明
文件1string文件名不带扩展

getExtension 获取文件的拓展名

参数名必选类型说明
pathstring路径
  logd(ll.file.getExtension("/sdcard/文件.txt"));
返回值类型说明
txtstring文件扩展名

getSdcardPath 获取SD卡路径

提示
  • 所谓SD卡,即外部存储器。
参数名必选类型说明
  logd(ll.file.getSdcardPath());
返回值类型说明
/sdcard/stringsd卡路径

getLineNumber 获取文件行数

参数名必选类型说明
pathstring路径
  logd(ll.file.getLineNumber("/sdcard/文件.txt"));
返回值类型说明
13int文件行数

getFileSize 获取文件大小字节数(可格式化)

参数名必选类型说明
pathstring文件路径
isFormatbool是否格式化
  ll.file.getFileSize("/sdcard/Pictures/1.png")
//51284
ll.file.getFileSize("/sdcard/Pictures/1.png",true)
//50.08KB
返回值类型说明
51284/50.08KBint/string文件夹大小字节数/格式化

getFolderSize 获取文件夹大小字节数(可格式化)

参数名必选类型说明
pathstring路径
isFormatboolean是否格式化
  logd(ll.file.getFolderSize("/sdcard/Pictures"));
//154454410
logd(ll.file.getFolderSize("/sdcard/Pictures",true));
//147.30MB
返回值类型说明
文件夹大小字节数/格式化long/string文件夹大小字节数/格式化

getFormatSize 格式化字节单位

参数名必选类型说明
sizelong字节大小
  let size = ll.file.getFolderSize("/sdcard/Pictures/")
logd(ll.file.getFormatSize(size));
返回值类型说明
147.30MBsting格式化字节单位

getLastModified 获取文件修改时间

参数名必选类型说明
pathstring文件路径
  logd(ll.file.getLastModified("/sdcard/1.txt"));
返回值类型说明
2021-07-07 14:11:10string修改时间 yyyy-MM-dd HH:mm:ss,不存在返回 "0"

其他

join 连接两个路径并返回

参数名必选类型说明
parentstring父目录路径
childstring子路径
  logd(ll.file.join("/sdcard/","文件.txt"));
返回值类型说明
/sdcard/文件.txtboolen完整路径

open原始接口

open 打开一个文件

提示
  • open(path[, mode = “r”, encoding = “utf-8”, bufferSize = 8192])
参数名必选类型说明
pathstring路径
modestring文件打开模式,包括:
“r”: 只读文本模式。该模式下只能对文件执行文本读取操作。
“w”: 只写文本模式。该模式下只能对文件执行文本覆盖写入操作。
“a”: 附加文本模式。该模式下将会把写入的文本附加到文件末尾。
“rw”: 随机读写文本模式。该模式下将会把写入的文本附加到文件末尾。
目前暂不支持二进制模式,随机读写模式。
参数
参数名必选类型说明
encodingstring字符编码
bufferSizenumber文件读写的缓冲区大小
说明
打开一个文件。根据打开模式返回不同的文件对象。包括:
“r”: 返回一个ReadableTextFile对象。
“w”, “a”: 返回一个WritableTextFile对象。

对于"w"模式,如果文件并不存在,则会创建一个,已存在则会清空该文件内容;其他模式 文件不存在会抛出FileNotFoundException。
ReadableTextFile
可读文件对象。

ReadableTextFile.read()
返回该文件剩余的所有内容的字符串。

ReadableTextFile.read(maxCount)
maxCount {Number} 最大读取的字符数量
读取该文件接下来最长为maxCount的字符串并返回。即使文件剩余内容不足maxCount也不会出错。

ReadableTextFile.readline()
读取一行并返回(不包含换行符)。

ReadableTextFile.readlines()
读取剩余的所有行,并返回它们按顺序组成的字符串数组。

close()
关闭该文件。

打开一个文件不再使用时务必关闭
PWritableTextFile
可写文件对象。

PWritableTextFile.write(text)
text {string} 文本
把文本内容text写入到文件中。

PWritableTextFile.writeline(line)
text {string} 文本
把文本line写入到文件中并写入一个换行符。

PWritableTextFile.writelines(lines)
lines {Array} 字符串数组
把很多行写入到文件中…

PWritableTextFile.flush()
把缓冲区内容输出到文件中。

PWritableTextFile.close()
关闭文件。同时会被缓冲区内容输出到文件。
示例 读取文本文件
//文件路径
let path = "/sdcard/1.txt";
//打开文件
let f = ll.file.open(path);
//读取文件的所有内容
let text = f.read();
//打印到控制台
logd(text);
//关闭文件
f.close();

示例 读写文本文件
//以写入模式打开SD卡根目录文件1.txt
let f = ll.file.open("/sdcard/1.txt", "w")
//写入aaaa
f.write("aaaa");
//写入bbbbb后换行
f.writeline("bbbbb");
//写入ccc与ddd两行
f.writelines(["ccc", "ddd"]);
//关闭文件
f.close();

//以附加模式打开文件
f = ll.file.open("/sdcard/1.txt", "a");
//附加一行"啦啦啦啦"
f.writeline("啦啦啦啦");
//附加一行"哈哈哈哈"
f.writeline("哈哈哈哈");
//附加两行ccc, ddd
f.writelines(["ccc", "ddd"]);
//输出缓冲区
f.flush();
//关闭文件
f.close();


//以读取模式打开文件
f = ll.file.open("/sdcard/test.txt", "r")
//读取一行并打印
logd(f.readline());
//读取剩余所有行并打印
for each(line in f.readlines()){
logd(line)
}
f.close()
返回值类型说明
文件对象object文件对象

close 关闭文件

配合ll.file.open使用


压缩包/解压缩

readZipInnerFilePathList 获取zip内部所有文件路径

参数名必选类型说明
pathstringzip文件路径
let ret = ll.file.readZipInnerFilePathList("/sdcard/1.zip")
for (let i = 0; i < ret.length; i++) {
logd(ret[i])
}
返回值类型说明
文件路径数组array文件路径数组

getZipComment 获取zip注释内容

参数名必选类型说明
pathstringzip文件路径
  logd(ll.file.getZipComment("/sdcard/1.zip"));
返回值类型说明
1234string注释内容

unzip 解压zip,支持密码

参数名必选类型说明
zipFilestringzip文件路径
deststring解压路径
stringstring密码
  ll.file.unzip("/sdcard/1.zip","/sdcard/2/")
ll.file.unzip("/sdcard/1.zip","/sdcard/2/","123")
返回值类型说明
truebool是否成功

getECInnerFileList 获取EC下指定源文件夹下文件列表

参数名必选类型说明
filterPathstring指定源文件夹名,默认res
//默认获取res路径下文件名
let fileList = ll.file.getECInnerFileList()
for (let i = 0; i < fileList.length; i++) {
logd(fileList[i]);
}
//指定获取js路径下文件名
let fileList = ll.file.getECInnerFileList("js")
for (let i = 0; i < fileList.length; i++) {
logd(fileList[i]);
}
返回值类型说明
["1.png","2.png"]array文件列表

XML相关

xmlFileToJson 读xml文件为json

参数名必选类型说明
pathstring文件路径
  let ret = ll.file.xmlFileToJson("/sdcard/1.xml")
ret = JSON.parse(ret)
logd(ret.map.string.content);
返回值类型说明
jsonstringjson

xmlStrToJson xml字符串转json

参数名必选类型说明
strstringxml字符串
  let ret = ll.file.xmlStrToJson("<xml?>xxxxxxxxxxxxxxxxx")
ret = JSON.parse(ret)
logd(ret.map.string.content);
返回值类型说明
jsonstringjson

jsonToXml json转xml字符串

参数名必选类型说明
strstringjson字符串
  logd(ll.file.jsonToXml("{a:1}"));
返回值类型说明
<?xml version='1.0' xxxxxxxxxxxxxx>stringxml