files 模块提供了一些常见的文件处理,包括文件读写、移动、复制、删掉等。
一次性的文件读写可以直接使用files.read()
, files.write()
, files.append()
等方便的函数,但如果需要频繁读写或随机读写,则使用open()
函数打开一个文件对象来操作文件,并在操作完毕后调用close()
函数关闭文件。
path
{string} 路径返回路径 path 是否是文件。
path
{string} 路径返回路径 path 是否是文件夹。
path
{string} 路径返回文件夹 path 是否为空文件夹。如果该路径并非文件夹,则直接返回false
。
parent
{string} 父目录路径child
{string} 子路径连接两个路径并返回,例如files.join("/sdcard/", "1.txt")
返回"/sdcard/1.txt"。
path
{string} 路径创建一个文件或文件夹并返回是否创建成功。如果文件已经存在,则直接返回false
。
path
{string} 路径创建一个文件或文件夹并返回是否创建成功。如果文件所在文件夹不存在,则先创建他所在的一系列文件夹。如果文件已经存在,则直接返回false
。
path
{string} 路径返回在路径 path 处的文件是否存在。
path
{string} 路径确保路径 path 所在的文件夹存在。如果该路径所在文件夹不存在,则创建该文件夹。
例如对于路径"/sdcard/Download/ABC/1.txt",如果/Download/文件夹不存在,则会先创建 Download,再创建 ABC 文件夹。
path
{string} 路径encoding
{string} 字符编码,可选,默认为 utf-8读取文本文件 path 的所有内容并返回。如果文件不存在,则抛出FileNotFoundException
。
path
{string} 路径读取文件 path 的所有内容并返回一个字节数组。如果文件不存在,则抛出FileNotFoundException
。
注意,该数组是 Java 的数组,不具有 JavaScript 数组的 forEach, slice 等函数。
一个以 16 进制形式打印文件的例子如下:
path
{string} 路径text
{string} 要写入的文本内容encoding
{string} 字符编码把 text 写入到文件 path 中。如果文件存在则覆盖,不存在则创建。
path
{string} 路径bytes
{byte[]} 字节数组,要写入的二进制数据把 bytes 写入到文件 path 中。如果文件存在则覆盖,不存在则创建。
path
{string} 路径text
{string} 要写入的文本内容encoding
{string} 字符编码把 text 追加到文件 path 的末尾。如果文件不存在则创建。
path
{string} 路径bytes
{byte[]} 字节数组,要写入的二进制数据把 bytes 追加到文件 path 的末尾。如果文件不存在则创建。
fromPath
{string} 要复制的原文件路径toPath
{string} 复制到的文件路径复制文件,返回是否复制成功。例如files.copy("/sdcard/1.txt", "/sdcard/Download/1.txt")
。
fromPath
{string} 要移动的原文件路径toPath
{string} 移动到的文件路径移动文件,返回是否移动成功。例如files.move("/sdcard/1.txt", "/sdcard/Download/1.txt")
会把 1.txt 文件从 sd 卡根目录移动到 Download 文件夹。
path
{string} 要重命名的原文件路径newName
{string} 要重命名的新文件名重命名文件,并返回是否重命名成功。例如files.rename("/sdcard/1.txt", "2.txt")
。
path
{string} 要重命名的原文件路径newName
{string} 要重命名的新文件名重命名文件,不包含拓展名,并返回是否重命名成功。例如files.rename("/sdcard/1.txt", "2")
会把"1.txt"重命名为"2.txt"。
path
{string} 路径返回文件的文件名。例如files.getName("/sdcard/1.txt")
返回"1.txt"。
path
{string} 路径返回不含拓展名的文件的文件名。例如files.getName("/sdcard/1.txt")
返回"1"。
path
{string} 路径返回文件的拓展名。例如files.getExtension("/sdcard/1.txt")
返回"txt"。
path
{string} 路径删除文件或空文件夹,返回是否删除成功。
path
{string} 路径path
{string} 路径删除文件夹,如果文件夹不为空,则删除该文件夹的所有内容再删除该文件夹,返回是否全部删除成功。
返回 SD 卡路径。所谓 SD 卡,即外部存储器。
返回脚本的"当前工作文件夹路径"。该路径指的是,如果脚本本身为脚本文件,则返回这个脚本文件所在目录;否则返回null
获取其他设定路径。
例如,对于脚本文件"/sdcard/脚本/1.js"运行files.cwd()
返回"/sdcard/脚本/"。
relativePath
{string} 相对路径返回相对路径对应的绝对路径。例如files.path("./1.png")
,如果运行这个语句的脚本位于文件夹"/sdcard/脚本/"中,则返回"/sdcard/脚本/1.png"
。
path
{string} 路径filter
{Function} 过滤函数,可选。接收一个string
参数(文件名),返回一个boolean
值。列出文件夹 path 下的满足条件的文件和文件夹的名称的数组。如果不加 filter 参数,则返回所有文件和文件夹。
列出 sdcard 目录下所有文件和文件夹为:
列出脚本目录下所有 js 脚本文件为: