auto.js 中文文档 下载 App

文件读写——files API 操作本地文件系统

基础读写

// 写文本文件
files.write("/sdcard/test.txt", "Hello Auto.js");

// 读文本文件
var content = files.read("/sdcard/test.txt");
toast(content); // "Hello Auto.js"

// 追加写入
files.append("/sdcard/log.txt", "新的一行\n");

// 二进制写
files.writeBytes("/sdcard/data.bin", byteArray);

目录操作

// 创建目录
files.createWithDirs("/sdcard/AutoJsScripts/新目录/子目录");

// 列出目录
var allFiles = files.listDir("/sdcard/AutoJsScripts/", function(name) {
  return name.endsWith(".js"); // 只列 js 文件
});

// 删除
files.remove("/sdcard/temp.txt");
files.removeDir("/sdcard/AutoJsScripts/旧目录");

// 是否存在
if (files.exists("/sdcard/config.json")) {
  log("配置文件存在");
}

// 重命名
files.rename("/sdcard/old.txt", "/sdcard/new.txt");

常用路径

// Auto.js 内部存储路径
var scriptsDir = files.cwd(); // 当前工作目录

// SD 卡
var sdCard = "/sdcard/";

// 公共下载目录
var downloadsDir = "/sdcard/Download/";

// 缓存目录
var cache = context.getCacheDir().getPath();

实战:配置持久化

// 保存配置
var config = {
  apps: ["淘宝", "京东"],
  hour: 8,
  enabled: true
};
files.write("/sdcard/signin_config.json", JSON.stringify(config, null, 2));
toast("配置已保存");

// 下次启动读取
if (files.exists("/sdcard/signin_config.json")) {
  var saved = JSON.parse(files.read("/sdcard/signin_config.json"));
  log("读取配置:" + JSON.stringify(saved));
}

Android 10+ 分区存储注意

Android 10 引入了 Scoped Storage,/sdcard/ 的直接访问在部分设备上受限。Auto.js 提供了两种规避方式: