Auto.js 3.0.0 文档


Files#

Stability: 2 - Stable

files模块提供了一些常见的文件处理,包括文件读写、移动、复制、删掉等。

files.isFile(path)#

返回路径path是否是文件。

files.isDir(path)#

返回路径path是否是文件夹。

files.isEmptyDir(path)#

返回文件夹path是否为空文件夹。如果该路径并非文件夹,则直接返回false。

files.join(parent, child)#

连接两个路径并返回,例如files.join("/sdcard/", "1.txt")返回"/sdcard/1.txt"。

files.create(path)#

创建一个文件并返回是否创建成功。

files.createIfNotExists(path)#

创建一个文件并返回是否创建成功。

files.exists(path)#

返回在路径path处的文件是否存在。

files.ensureDir(path)#

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

例如对于路径"/sdcard/Download/ABC/1.txt",如果/Download/文件夹不存在,则会先创建Download,再创建ABC文件夹。

files.read(path[, encoding = "utf-8"])#

读取文件path的所有内容并返回。

files.write(path, text[, encoding = "utf-8"])#

把text写入到文件path中。如果文件存在则覆盖,不存在则创建。

files.copy(fromPath, toPath)#

  • fromPath <string> 要复制的原文件路径
  • toPath <string> 复制到的文件路径

复制文件。例如files.copy("/sdcard/1.txt", "/sdcard/Download/1.txt")

files.move(fromPath, toPath)#

  • fromPath <string> 要移动的原文件路径
  • toPath <string> 移动到的文件路径

移动文件,返回是否移动成功。例如files.move("/sdcard/1.txt", "/sdcard/Download/1.txt")会把1.txt文件从sd卡根目录移动到Download文件夹。

files.rename(path, newName)#

  • path <string> 要重命名的原文件路径
  • newName <string> 要重命名的新文件名

重命名文件,并返回是否重命名成功。例如files.rename("/sdcard/1.txt", "2.txt")

files.renameWithoutExtension(path, newName)#

  • path <string> 要重命名的原文件路径
  • newName <string> 要重命名的新文件名

重命名文件,不包含拓展名,并返回是否重命名成功。例如files.rename("/sdcard/1.txt", "2")会把1.txt重命名为2.txt。

files.getName(path)#

返回文件的文件名。例如files.getName("/sdcard/1.txt")返回"1.txt"。

files.getNameWithoutExtension(path)#

返回不含拓展名的文件的文件名。例如files.getName("/sdcard/1.txt")返回"1"。

files.getExtension(path)#

返回文件的拓展名。例如files.getExtension("/sdcard/1.txt")返回"txt"。

files.remove(path)#

删除文件或空文件夹,返回是否删除成功。

files.removeDir(path)#

删除文件夹,如果文件夹不为空,则删除该文件夹的所有内容再删除该文件夹,返回是否全部删除成功。

files.getSdcardPath()#

返回SD卡路径。所谓SD卡,即外部存储器。

files.listDir(path[, filter])#

  • path <string> 路径
  • filter <Function> 过滤函数,可选。接收一个String参数(文件名),返回一个Boolean值。

列出文件夹path下的满足条件的文件和文件夹的名称的数组。如果不加filter参数,则返回所有文件和文件夹。

例如,获取sdcard目录下的txt文件为

var txtFiles = files.listDir("/sdcard/", function(name){
    return name.endsWith(".txt") && files.isFile("/sdcard/" + name);
});

open(path[, mode = "r", encoding = "utf-8", bufferSize = 8192])#

  • path <string> 文件路径,例如"/sdcard/1.txt"。
  • mode <string> 文件打开模式,包括:
    • "r": 只读模式。该模式下只能对文件执行文本读取操作。
    • "w": 只写模式。该模式下只能对文件执行文本覆盖写入操作。
    • "a": 附加模式。该模式下将会把写入的文本附加到文件末尾。
      目前暂不支持二进制模式,随机读写模式。
  • encoding <string> 字符编码。
  • bufferSize <Number> 文件读写的缓冲区大小。

打开一个文件。根据打开模式返回不同的文件对象。包括:

  • "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写入到文件中。

PWritableTextFile.writeline(line)#

把文本line写入到文件中并写入一个换行符。

PWritableTextFile.writelines(lines)#

把很多行写入到文件中....

PWritableTextFile.flush()#

把缓冲区内容输出到文件中。

PWritableTextFile.close()#

关闭文件。同时会被缓冲区内容输出到文件。

打开一个文件写入后,不再使用时务必关闭,否则文件可能会丢失