Skip to main content

文件函数

说明

  • 文件模块函数主要是跟文件信息相关联
  • 文件模块的对象前缀是file,例如 file.readFile()这样调用
  • 如果想获取设备沙盒文件夹中文件路径 请使用 file.getSandBoxFilePath这个函数

file.getInternalDir 获取内部存储地址

  • 获取内部存储地址
  • @param type,documents,library,temp,libraryCaches,documents文件夹类型可以通过爱思导出
  • @return 字符串
function main() {
var data = file.getInternalDir("documents");
logd(data);
}

main();

file.getSandBoxDir 获取沙盒的文件夹路径

  • 获取当前设备沙盒的文件夹路径
  • @return 字符串
function main() {
var data = file.getSandBoxDir();
logd(data);
}

main();

file.getSandBoxFilePath 获取沙盒中的文件路径

  • 拼接出一个带沙盒路径的文件地址
  • @return 字符串
function main() {
var data = file.getSandBoxFilePath("a.txt");
logd(data);
}

main();

file.readFile 读取为字符串

  • 将文件读取为字符串
  • @param path 文件路径
  • @return 字符串
function main() {
let p = file.getSandBoxFilePath("a.txt");
var data = file.readFile(p);
logd(data);
}

main();

file.deleteLine 删除文件某一行

  • 删除文件某一行或者根据包含条件删除
  • 运行环境: 无限制
  • @param path 文件路径
  • @param line 行数,如果是-1 代表这个条件不生效
  • @param contains 包含某个字符串就删除,如果为null代表这个条件不生效
  • @return {bool} true 成功 false 失败
function main() {
let p = file.getSandBoxFilePath("a.txt");
//删除包含 时间 字符串的行
let r = file.deleteLine(p, -1, "时间");
logd("r " + r);
//删除第3行
r = file.deleteLine(p, 3, null);
logd("r " + r);
}

main();

file.deleteLineEx 删除文件某一行

  • 删除文件某一行或者根据包含条件删除
  • 适合大文件
  • 适配 EC 4.7.3+
  • @param path 文件路径
  • @param line 行数,如果是-1 代表这个条件不生效
  • @param contains 包含某个字符串就删除,如果为null代表这个条件不生效
  • @return {bool} true 成功 false 失败
function main() {
let p = file.getSandBoxFilePath("a.txt");
//删除包含 时间 字符串的行
let r = file.deleteLineEx(p, -1, "时间");
logd("r " + r);
//删除第3行
r = file.deleteLineEx(p, 3, null);
logd("r " + r);
}

main();

file.listDir 列出所有文件

  • 列出文件下的所有文件,会递归
  • @param path 路径
  • @return 路径字符串数组
function main() {
let p = file.getSandBoxDir();
var data = file.listDir(p);
for (var i = 0; i < data.length; i++) {
logd("path " + data[i]);
}
}

main();

file.listDir2 列出文件(递归配置)

  • 列出文件下文件和文件夹
  • 适配EC 脱机 4.1.0+
  • @param path 路径
  • @param recursion true代表递归子文件夹,false代表不递归
  • @return 路径字符串数组
function main() {
let p = file.getSandBoxDir();
var data = file.listDir2(p, false);
for (var i = 0; i < data.length; i++) {
logd("path " + data[i]);
}
}

main();

file.writeFile 写入文件

  • 将字符串存储到文件中
  • @param data 字符串 数据
  • @param path 文件路径
function main() {
var data = "Test";
let p = file.getSandBoxFilePath("a.txt");
file.writeFile(data, p);
}

main();

file.create 创建

  • 创建一个文件
  • @param path 文件路径
  • @return 布尔型 true 代表创建成功
function main() {
let p = file.getSandBoxFilePath("a.txt");
var create = file.create(p);
logd(create);
}

main();

file.mkdirs 创建文件夹

  • 创建文件夹
  • @param path 路径
  • @return 布尔型 true 代表成功,false代表失败
function main() {
let p = file.getSandBoxDir();
p = p + "/ad"
var t = file.mkdirs(p);
logd(t);
}

main();

file.deleteAllFile 删除

  • 删除所有文件或者文件夹
  • @param path 文件或者文件路径
function main() {
let p = file.getSandBoxFilePath("a.txt");
file.deleteAllFile(p);
}

main();

file.appendLine 追加字符串

  • 写入一行到文件中,追加模式
  • @param data 行数据
  • @param path 文件或者文件路径
  • @return 布尔型 true代表成功 false代表失败
function main() {
var data = "sss";
let p = file.getSandBoxFilePath("a.txt");
var t = file.appendLine(data, p);
logd(t);
}

main();

file.appendLineEx 追加字符串

  • 写入一行到文件中,追加模式
  • 适合大文件
  • 适配 EC 4.7.3+
  • @param data 行数据
  • @param path 文件或者文件路径
  • @return 布尔型 true代表成功 false代表失败
function main() {
var data = "sss";
let p = file.getSandBoxFilePath("a.txt");
var t = file.appendLineEx(data, p);
logd(t);
}

main();

file.readLine 读取一行

  • 读取一行数据,如果行号不对,返回的是空
  • @param path 路径
  • @param lineNo 行号
  • @return 字符串 返回一行字符串
function main() {
let p = file.getSandBoxFilePath("a.txt");
var t = file.readLine(p, 1);
logd(t);
}

main();

file.readLineEx 读取一行

  • 读取一行数据,如果行号不对,返回的是空
  • 适合大文件
  • 适配 EC 4.7.3+
  • @param path 路径
  • @param lineNo 行号
  • @return 字符串 返回一行字符串
function main() {
let p = file.getSandBoxFilePath("a.txt");
var t = file.readLineEx(p, 1);
logd(t);
}

main();

file.readAllLines 读取所有行

  • 读取所有数据
  • @param path 路径
  • @return 字符串数组|null
function main() {
let p = file.getSandBoxFilePath("a.txt");
var t = file.readAllLines(p);
logd(t);
}

main();

file.exists 是否存在

  • 文件或者文件夹是否存在
  • @param path 路径
  • @return 布尔型 true 代表成功,false代表失败
function main() {
let p = file.getSandBoxFilePath("a.txt");
var t = file.exists(p);
logd(t);
}

main();

file.copy 文件复制

  • 复制文件
  • @param src 源文件路径
  • @param dest 目标文件路径
  • @return 布尔型 true 代表成功
function main() {
let p1 = file.getSandBoxFilePath("a1.txt");
let p2 = file.getSandBoxFilePath("a2.txt");
var t = file.copy(p1, p2);
logd(t);
}

main();