跳转到内容

文件存储

{ "name": "blueos.storage.file" }
import file from '@blueos.storage.file'

注意:下面文件操作仅支持 URI 的写法,不支持文件绝对路径。

将源文件移动到指定位置

参数名类型必填说明
srcUriString源文件的 uri,不能是应用资源路径和 tmp 类型的 uri
dstUriString目标文件的 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调,返回目标文件的 uri
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.move({
srcUri: 'internal://cache/path/to/file',
dstUri: 'internal://files/path/to/file',
success: function (uri) {
console.log(`move success: ${uri}`)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

将源文件复制一份并存储到指定位置,接口中使用的 URI 描述请参考文件组织

参数名类型必填说明
srcUriString源文件的 uri
dstUriString目标文件的 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调,返回目标文件的 uri
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.copy({
srcUri: 'internal://cache/path/to/file',
dstUri: 'internal://files/path/to/file',
success: function (uri) {
console.log(`copy success: ${uri}`)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

获取指定目录下的文件列表,接口中使用的 URI 描述请参考文件组织

参数名类型必填说明
uriString目录 uri,不能是应用资源路径和 tmp 类型的 uri。 支持应用资源路径
successFunction成功回调,返回{fileList:[{uri:‘file1’, lastModifiedTime:1234456, length:123456} …]}
failFunction失败回调
completeFunction执行结束后的回调
参数名类型说明
fileListArray文件列表,每个文件的格式为{uri:‘file1’, lastModifiedTime:1234456, length:123456}
参数名类型说明
uriString文件的 uri,该 uri 可以被其他组件或 Feature 访问
lengthNumber文件大小,单位 B
lastModifiedTimeNumber文件的保存是的时间戳,从 1970/01/01 00:00:00 GMT 到当前时间的毫秒数
错误码说明
202参数错误
300I/O 错误
file.list({
uri: 'internal://files/movies/',
success: function (data) {
console.log(data.fileList)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

获取本地文件的文件信息,接口中使用的 URI 描述请参考文件组织

参数名类型必填说明
uriString文件的 uri,不能是应用资源路径。 支持应用资源路径
recursiveBoolean是否递归获取子目录文件列表。默认 false
successFunction成功回调,返回{uri:‘file1’, length:123456, lastModifiedTime:1233456}
failFunction失败回调
completeFunction执行结束后的回调
参数名类型说明
uriString文件的 uri,该 uri 可以被其他组件或 Feature 访问
lengthNumber文件大小,单位 B
lastModifiedTimeNumber文件的保存是的时间戳,从 1970/01/01 08:00:00 到当前时间的毫秒数
typeString文件类型,dir:目录;file:文件
subFilesArray文件列表,recursive 为 true 且 type 为 dir 时递归返回子目录文件细信息,否则不返回
错误码说明
202参数错误
300I/O 错误
file.get({
uri: 'internal://files/path/to/file',
success: function (data) {
console.log(data.uri)
console.log(data.length)
console.log(data.lastModifiedTime)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

删除本地存储的文件,接口中使用的 URI 描述请参考文件组织

参数名类型必填说明
uriString需要删除的文件 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.delete({
uri: 'internal://files/path/to/file',
success: function (data) {
console.log('handling success')
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

写文本到文件

参数名类型必填说明
uriString本地文件路径,不支持资源文件路径和 tmp 分区,如果文件不存在会创建文件
textString需要写入的字符串
encodingString编码格式,默认 UTF-8
appendBoolean是否追加模式,默认 false
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.writeText({
uri: 'internal://files/work/demo.txt',
text: 'test',
success: function () {
console.log('handling success')
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

写 Buffer 到文件

参数名类型必填说明
uriString本地文件路径,不支持资源文件路径和 tmp 分区,如果文件不存在会创建文件
bufferUint8Array需要写入的 Buffer
positionNumber指向文件开始写入数据的位置的偏移量,默认 0
appendBoolean是否追加模式,默认 false。当为 true 时,position 参数无效
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.writeArrayBuffer({
uri: 'internal://files/work/demo',
buffer: buffer,
success: function () {
console.log('handling success')
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

从文件中读取文本

参数名类型必填说明
uriString本地文件路径
encodingString编码格式,默认 UTF-8
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
参数名类型说明
textString读取的文本
错误码说明
202参数错误
300I/O 错误
301文件不存在
file.readText({
uri: 'internal://files/work/demo.txt',
success: function (data) {
console.log('text: ' + data.text)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

从文件中读取 Buffer

参数名类型必填说明
uriString本地文件路径
positionNumber读取的起始位置,默认值为文件的起始位置
lengthNumber读取的长度,不填写则读取到文件结尾
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
参数名类型说明
bufferUint8Array读取的文件内容
错误码说明
202参数错误
300I/O 错误
301文件不存在
file.readArrayBuffer({
uri: 'internal://files/work/demo',
position: 100,
length: 100,
success: function (data) {
console.log('buffer.byteLength: ' + data.buffer.byteLength)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

判断文件或目录是否存在

参数名类型必填说明
uriString目录或文件 uri,不能是应用资源路径和 tmp 类型的 uri。 支持应用资源路径
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.access({
uri: 'internal://files/test',
success: function (data) {
console.log(`handling success`)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

创建目录

参数名类型必填说明
uriString目录的 uri,不能是应用资源路径和 tmp 类型的 uri
recursiveBoolean是否递归创建该目录的上级目录后再创建该目录。默认 false
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.mkdir({
uri: 'internal://files/dir/',
success: function (data) {
console.log(`handling success`)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})

删除目录

参数名类型必填说明
uriString目录的 uri,不能是应用资源路径和 tmp 类型的 uri
recursiveBoolean是否递归删除子文件和子目录。默认 false
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
错误码说明
202参数错误
300I/O 错误
file.rmdir({
uri: 'internal://files/dir/',
success: function (data) {
console.log(`handling success`)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
},
})
属性类型说明
datastring接口失败信息描述
codeFailCodeEnum接口失败业务码
属性说明
202参数错误
300I/O 错误
301文件不存在
302存储空间不足