接口聲明
{"name": "system.file"}
導入模塊
import file from '@system.file'
或
const file = require('@system.file')
接口定義
file.move(OBJECT)
將源文件移動到指定位置,接口中使用的URI描述請參考 文件組織
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
srcUri |
String |
是 |
源文件的uri,不能是應用資源路徑和tmp類型的uri |
dstUri |
String |
是 |
目標文件的uri,不能是應用資源路徑和tmp類型的uri |
success |
Function |
否 |
成功回調(diào),返回目標文件的uri |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.copy(OBJECT)
將源文件復制一份并存儲到指定位置,接口中使用的URI描述請參考 文件組織
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
srcUri |
String |
是 |
源文件的uri |
dstUri |
String |
是 |
目標文件的uri,不能是應用資源路徑和tmp類型的uri |
success |
Function |
否 |
成功回調(diào),返回目標文件的uri |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.list(OBJECT)
獲取指定目錄下的文件列表,接口中使用的URI描述請參考 文件組織
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
uri |
String |
是 |
目錄uri,不能是應用資源路徑和tmp類型的uri |
success |
Function |
否 |
成功回調(diào),返回{fileList:[{uri:'file1',lastModifiedTime:1234456, length:123456} ...]} |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
success返回值:
參數(shù)名 |
類型 |
說明 |
fileList |
Array |
文件列表,每個文件的格式為{uri:'file1',lastModifiedTime:1234456, length:123456} |
每個文件的元信息:
參數(shù)名 |
類型 |
說明 |
uri |
String |
文件的 uri,該 uri 可以被其他組件或 Feature 訪問 |
length |
Number |
文件大小,單位B |
lastModifiedTime |
Number |
文件的保存是的時間戳,從 1970/01/01 00:00:00 GMT 到當前時間的毫秒數(shù) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/O錯誤 |
示例:
file.list({
uri: 'internal://files/movies/',
success: function (data) {
console.log(data.fileList)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
}
})
file.get(OBJECT)
獲取本地文件的文件信息,接口中使用的 URI 描述請參考 文件組織
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 文件的 uri,不能是應用資源路徑 |
recursive 1060+ | Boolean | 否 | 是否遞歸獲取子目錄文件列表。默認false |
success | Function | 否 | 成功回調(diào),返回 { uri:'file1', length:123456, lastModifiedTime:1233456 } |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
success返回值:
參數(shù)名 | 類型 | 說明 |
---|
uri | String | 文件的 uri,該 uri 可以被其他組件或 Feature 訪問 |
length | Number | 文件大小,單位 B |
lastModifiedTime | Number | 文件的保存是的時間戳,從 1970/01/01 08:00:00 到當前時間的毫秒數(shù) |
type 1060+ | String | 文件類型,dir:目錄;file:文件 |
subFiles 1060+ | Array | 文件列表,recursive為true且type為dir時遞歸返回子目錄文件細信息,否則不返回 |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.delete(OBJECT)
刪除本地存儲的文件,接口中使用的 URI 描述請參考 文件組織
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
uri |
String |
是 |
需要刪除的文件 uri,不能是應用資源路徑和 tmp 類型的 uri |
success |
Function |
否 |
成功回調(diào) |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.writeText(OBJECT)1010+
寫文本到文件
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 本地文件路徑,不支持資源文件路徑和 tmp 分區(qū),如果文件不存在會創(chuàng)建文件 |
text | String | 是 | 需要寫入的字符串 |
encoding | String | 否 | 編碼格式,默認 UTF-8 |
append 1060+ | Boolean | 否 | 是否追加模式,默認 false |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.writeArrayBuffer(OBJECT)1010+
寫B(tài)uffer到文件
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 本地文件路徑,不支持資源文件路徑和 tmp 分區(qū),如果文件不存在會創(chuàng)建文件 |
buffer | Uint8Array | 是 | 需要寫入的 Buffer |
position | Number | 否 | 指向文件開始寫入數(shù)據(jù)的位置的偏移量,默認 0 |
append 1060+ | Boolean | 否 | 是否追加模式,默認 false。當為 true 時, position 參數(shù)無效 |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.readText(OBJECT)1010+
從文件中讀取文本
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
uri |
String |
是 |
本地文件路徑 |
encoding |
String |
否 |
編碼格式,默認 UTF-8 |
success |
Function |
否 |
成功回調(diào) |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
success返回值:
參數(shù)名 |
類型 |
說明 |
text |
String |
讀取的文本 |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/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}`)
}
})
file.readArrayBuffer(OBJECT)1010+
從文件中讀取Buffer
參數(shù):
參數(shù)名 |
類型 |
必填 |
說明 |
uri |
String |
是 |
本地文件路徑 |
position |
Number |
否 |
讀取的起始位置,默認值為文件的起始位置 |
length |
Number |
否 |
讀取的長度,不填寫則讀取到文件結尾 |
success |
Function |
否 |
成功回調(diào) |
fail |
Function |
否 |
失敗回調(diào) |
complete |
Function |
否 |
執(zhí)行結束后的回調(diào) |
success返回值:
參數(shù)名 |
類型 |
說明 |
buffer |
Uint8Array |
讀取的文件內(nèi)容 |
fail返回錯誤代碼:
錯誤碼 |
說明 |
202 |
參數(shù)錯誤 |
300 |
I/O 錯誤 |
301 |
文件不存在 |
示例:
file.readArrayBuffer({
uri: 'internal://files/work/demo',
position: 100,
length: 100,
success: function (data) {
console.log('buffer.length: '+ data.buffer.length)
},
fail: function (data, code) {
console.log(`handling fail, code = ${code}`)
}
})
file.access(OBJECT)1060+
判斷文件或目錄是否存在
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 目錄或文件 uri,不能是應用資源路徑和 tmp 類型的 uri |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
fail 返回錯誤代碼:
錯誤碼 | 說明 |
---|
202 | 參數(shù)錯誤 |
300 | I/O 錯誤 |
示例:
file.access({
uri: 'internal://files/test',
success: function(data) {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
file.mkdir(OBJECT)1060+
創(chuàng)建目錄
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 目錄的 uri,不能是應用資源路徑和 tmp 類型的 uri |
recursive | Boolean | 否 | 是否遞歸創(chuàng)建該目錄的上級目錄后再創(chuàng)建該目錄。默認 false |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
fail 返回錯誤代碼:
錯誤碼 | 說明 |
---|
202 | 參數(shù)錯誤 |
300 | I/O 錯誤 |
示例:
file.mkdir({
uri: 'internal://files/dir/',
success: function(data) {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
file.rmdir(OBJECT)1060+
刪除目錄
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|
uri | String | 是 | 目錄的 uri,不能是應用資源路徑和 tmp 類型的 uri |
recursive | Boolean | 否 | 是否遞歸刪除子文件和子目錄。默認 false |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 執(zhí)行結束后的回調(diào) |
fail 返回錯誤代碼:
錯誤碼 | 說明 |
---|
202 | 參數(shù)錯誤 |
300 | I/O 錯誤 |
示例:
file.rmdir({
uri: 'internal://files/dir/',
success: function(data) {
console.log(`handling success`)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
后臺運行限制
無限制。
后臺運行詳細用法參見 后臺運行腳本。
更多建議: