文件管理
該模塊提供文件存儲管理能力,包括文件基本管理、文件目錄管理、文件信息統計、文件流式讀寫等常用功能。
說明: 本模塊首批接口從API version 6開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導入模塊
import fileio from '@ohos.fileio';
使用說明
使用該功能模塊對文件/目錄進行操作前,需要先獲取其應用沙箱路徑,獲取方式及其接口用法請參考:
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
let path = '';
context.getFilesDir().then((data) = > {
path = data;
})
fileio.stat
stat(path: string): Promise
獲取文件信息,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待獲取文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Stat]> | Promise對象。返回文件的具體信息。 |
示例:
fileio.stat(path).then(function(stat){
console.info("getFileInfo succeed:"+ JSON.stringify(stat));
}).catch(function(err){
console.info("getFileInfo failed with error:"+ err);
});
fileio.stat
stat(path:string, callback:AsyncCallback): void
獲取文件信息,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待獲取文件的應用沙箱路徑。 |
callback | AsyncCallback<[Stat]> | 是 | 異步獲取文件的信息之后的回調。 |
示例:
fileio.stat(path, function (err, stat) {
// example code in Stat
});
fileio.statSync
statSync(path:string): Stat
以同步方法獲取文件的信息。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待獲取文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
[Stat] | 表示文件的具體信息。 |
示例:
let stat = fileio.statSync(path);
// example code in Stat
fileio.opendir
opendir(path: string): Promise
打開文件目錄,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件目錄的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Dir]> | Promise對象。返回Dir對象。 |
示例:
fileio.opendir(path).then(function(dir){
console.info("opendir succeed:"+ JSON.stringify(dir));
}).catch(function(err){
console.info("opendir failed with error:"+ err);
});
fileio.opendir
opendir(path: string, callback: AsyncCallback
): void
打開文件目錄,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件目錄的應用沙箱路徑。 |
callback | AsyncCallback<[Dir]> | 是 | 異步打開文件目錄之后的回調。 |
示例:
fileio.opendir(path, function (err, dir) {
// example code in Dir struct
// use read/readSync/close
});
fileio.opendirSync
opendirSync(path: string): Dir
以同步方法打開文件目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件目錄的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
[Dir] | 返回Dir對象。 |
示例:
let dir = fileio.opendirSync(path);
// example code in Dir struct
// use read/readSync/close
fileio.access
access(path: string, mode?: number): Promise
檢查當前進程是否可訪問某文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待訪問文件的應用沙箱路徑。 |
mode | number | 否 | 訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定0。 確認當前進程是否具有對應權限: - 0:確認文件是否存在。 - 1:確認當前進程是否具有可執行權限。 - 2:確認當前進程是否具有寫權限。 - 4:確認當前進程是否具有讀權限。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
fileio.access(path).then(function() {
console.info("access succeed");
}).catch(function(err){
console.info("access failed with error:"+ err);
});
fileio.access
access(path: string, mode: number, callback: AsyncCallback): void
檢查當前進程是否可訪問某文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待訪問文件的應用沙箱路徑。 |
mode | number | 否 | 訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定0。 確認當前進程是否具有對應權限: - 0:確認文件是否存在。 - 1:確認當前進程是否具有可執行權限。 - 2:確認當前進程是否具有寫權限。 - 4:確認當前進程是否具有讀權限。 |
callback | AsyncCallback | 是 | 異步檢查當前進程是否可訪問某文件之后的回調。 |
示例:
fileio.access(path, function (err) {
// do something
});
fileio.accessSync
accessSync(path: string, mode?: number): void
以同步方法檢查當前進程是否可訪問某文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待訪問文件的應用沙箱路徑。 |
mode | number | 否 | 訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定0。 確認當前進程是否具有對應權限: - 0:確認文件是否存在。 - 1:確認當前進程是否具有可執行權限。 - 2:確認當前進程是否具有寫權限。 - 4:確認當前進程是否具有讀權限。 |
示例:
try {
fileio.accessSync(path);
} catch(err) {
console.info("accessSync failed with error:"+ err);
}
fileio.close7+
close(fd: number):Promise
關閉文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待關閉文件的文件描述符。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
fileio.close(fd).then(function(){
console.info("close file succeed");
}).catch(function(err){
console.info("close file failed with error:"+ err);
});
fileio.close7+
close(fd: number, callback:AsyncCallback): void
關閉文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待關閉文件的文件描述符。 |
callback | AsyncCallback | 是 | 異步關閉文件之后的回調。 |
示例:
let fd = fileio.openSync(path);
fileio.close(fd, function (err) {
// do something
});
fileio.closeSync
closeSync(fd: number): void
以同步方法關閉文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待關閉文件的文件描述符。 |
示例:
let fd = fileio.openSync(path);
fileio.closeSync(fd);
fileio.copyFile
copyFile(src:string | number, dest:string | number, mode?:number):Promise
復制文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆蓋文件的選項,當前僅支持0,且默認為0。 0:完全覆蓋目標文件,未覆蓋部分將被裁切掉。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let src = path;
let dest = src + 'tgt';
fileio.copyFile(src, dest).then(function(){
console.info("copyFile succeed");
}).catch(function(err){
console.info("copyFile failed with error:"+ err);
});
fileio.copyFile
copyFile(src: string | number, dest: string | number, mode: number, callback: AsyncCallback): void
復制文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆蓋文件的選項,當前僅支持0,且默認為0。 0:完全覆蓋目標文件,未覆蓋部分將被裁切掉。 |
callback | AsyncCallback | 是 | 異步復制文件之后的回調。 |
示例:
let src = path;
let dest = src + 'tgt';
fileio.copyFile(src, dest, function (err) {
// do something
});
fileio.copyFileSync
copyFileSync(src: string | number, dest: string | number, mode?: number): void
以同步方法復制文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆蓋文件的選項,當前僅支持0,且默認為0。 0:完全覆蓋目標文件,未覆蓋部分將被裁切掉。 |
示例:
let src = path;
let dest = src + 'tgt';
fileio.copyFileSync(src, dest);
fileio.mkdir
mkdir(path:string, mode?: number): Promise
創建目錄,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待創建目錄的應用沙箱路徑。 |
mode | number | 否 | 創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o775。 - 0o775:所有者具有讀、寫及可執行權限,其余用戶具有讀及可執行權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
fileio.mkdir(path).then(function() {
console.info("mkdir succeed");
}).catch(function (error){
console.info("mkdir failed with error:"+ error);
});
fileio.mkdir
mkdir(path: string, mode: number, callback: AsyncCallback): void
創建目錄,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待創建目錄的應用沙箱路徑。 |
mode | number | 否 | 創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o775。 - 0o775:所有者具有讀、寫及可執行權限,其余用戶具有讀及可執行權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
callback | AsyncCallback | 是 | 異步創建目錄操作完成之后的回調。 |
示例:
fileio.mkdir(path, function(err) {
console.info("mkdir succeed");
});
fileio.mkdirSync
mkdirSync(path: string, mode?: number): void
以同步方法創建目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待創建目錄的應用沙箱路徑。 |
mode | number | 否 | 創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o775。 - 0o775:所有者具有讀、寫及可執行權限,其余用戶具有讀及可執行權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
示例:
fileio.mkdirSync(path);
fileio.open7+
open(path: string, flags?: number, mode?: number): Promise
打開文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
flags | number | 否 | 打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。 |
mode | number | 否 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o666。 - 0o666:所有者具有讀、寫權限,所有用戶組具有讀、寫權限,其余用戶具有讀、寫權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回打開文件的文件描述符。 |
示例:
fileio.open(path, 0o1, 0o0200).then(function(number){
console.info("open file succeed");
}).catch(function(err){
console.info("open file failed with error:"+ err);
});
fileio.open7+
open(path: string, flags: number, mode: number, callback: AsyncCallback): void
打開文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
flags | number | 是 | 打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。 |
mode | number | 是 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o666。 - 0o666:所有者具有讀、寫權限,所有用戶組具有讀、寫權限,其余用戶具有讀、寫權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
callback | AsyncCallback | 是 | 異步打開文件之后的回調。 |
示例:
fileio.open(path, 0, function(err, fd) {
// do something
});
fileio.openSync
openSync(path:string, flags?:number, mode?:number): number
以同步方法打開文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
flags | number | 否 | 打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。 |
mode | number | 否 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o666。 - 0o666:所有者具有讀、寫權限,所有用戶組具有讀、寫權限,其余用戶具有讀、寫權限。 - 0o640:所有者具有讀、寫權限,所有用戶組具有讀權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 創建出的文件權限受umask影響,umask隨進程啟動確定,其修改當前不開放。 |
返回值:
類型 | 說明 |
---|---|
number | 打開文件的文件描述符。 |
示例:
let fd = fileio.openSync(path, 0o102, 0o640);
let fd = fileio.openSync(path, 0o102, 0o666);
fileio.writeSync(fd, 'hello world');
let fd1 = fileio.openSync(path, 0o2002);
fileio.writeSync(fd1, 'hello world');
let num = fileio.readSync(fd1, new ArrayBuffer(4096), {position: 0});
console.info("num == " + num);
fileio.read
read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): Promise
從文件讀取數據,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待讀取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存讀取到的文件數據的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
Promise<[ReadOut]> | Promise對象。返回讀取的結果。 |
示例:
let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
fileio.read(fd, buf).then(function(readOut){
console.info("read file data succeed");
console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}).catch(function(err){
console.info("read file data failed with error:"+ err);
});
fileio.read
read(fd: number, buffer: ArrayBuffer, options: { offset?: number; length?: number; position?: number; }, callback: AsyncCallback): void
從文件讀取數據,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待讀取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存讀取到的文件數據的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
callback | AsyncCallback<[ReadOut]> | 是 | 異步讀取數據之后的回調。 |
示例:
let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
fileio.read(fd, buf, function (err, readOut) {
if (readOut) {
console.info("read file data succeed");
console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}
});
fileio.readSync
readSync(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): number
以同步方法從文件讀取數據。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待讀取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存讀取到的文件數據的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
number | 實際讀取的長度。 |
示例:
let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
let num = fileio.readSync(fd, buf);
fileio.rmdir7+
rmdir(path: string): Promise
刪除目錄,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除目錄的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
fileio.rmdir(path).then(function() {
console.info("rmdir succeed");
}).catch(function(err){
console.info("rmdir failed with error:"+ err);
});
fileio.rmdir7+
rmdir(path: string, callback:AsyncCallback): void
刪除目錄,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除目錄的應用沙箱路徑。 |
callback | AsyncCallback | 是 | 異步刪除目錄之后的回調。 |
示例:
fileio.rmdir(path, function(err){
// do something
console.info("rmdir succeed");
});
fileio.rmdirSync7+
rmdirSync(path: string): void
以同步方法刪除目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除目錄的應用沙箱路徑。 |
示例:
fileio.rmdirSync(path);
fileio.unlink
unlink(path:string): Promise
刪除文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
fileio.unlink(path).then(function(){
console.info("remove file succeed");
}).catch(function(error){
console.info("remove file failed with error:"+ error);
});
fileio.unlink
unlink(path:string, callback:AsyncCallback): void
刪除文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除文件的應用沙箱路徑。 |
callback | AsyncCallback | 是 | 異步刪除文件之后的回調。 |
示例:
fileio.unlink(path, function(err) {
console.info("remove file succeed");
});
fileio.unlinkSync
unlinkSync(path: string): void
以同步方法刪除文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待刪除文件的應用沙箱路徑。 |
示例:
fileio.unlinkSync(path);
fileio.write
write(fd: number, buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise
將數據寫入文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待寫入文件的文件描述符。 |
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回實際寫入的長度。 |
示例:
let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
fileio.write(fd, "hello, world").then(function(number){
console.info("write data to file succeed and size is:"+ number);
}).catch(function(err){
console.info("write data to file failed with error:"+ err);
});
fileio.write
write(fd: number, buffer: ArrayBuffer | string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback): void
將數據寫入文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待寫入文件的文件描述符。 |
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
callback | AsyncCallback | 是 | 異步將數據寫入完成后執行的回調函數。 |
示例:
let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
fileio.write(fd, "hello, world", function (err, bytesWritten) {
if (bytesWritten) {
console.info("write data to file succeed and size is:"+ bytesWritten);
}
});
fileio.writeSync
writeSync(fd: number, buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): number
以同步方法將數據寫入文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待寫入文件的文件描述符。 |
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
number | 實際寫入的長度。 |
示例:
let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
let num = fileio.writeSync(fd, "hello, world");
fileio.hash
hash(path: string, algorithm: string): Promise
計算文件的哈希值,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待計算哈希值文件的應用沙箱路徑。 |
algorithm | string | 是 | 哈希計算采用的算法。可選 "md5"、"sha1" 或 "sha256"。建議采用安全強度更高的 "sha256"。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回文件的哈希值。表示為十六進制數字串,所有字母均大寫。 |
示例:
fileio.hash(path, "sha256").then(function(str){
console.info("calculate file hash succeed:"+ str);
}).catch(function(err){
console.info("calculate file hash failed with error:"+ err);
});
fileio.hash
hash(path: string, algorithm: string, callback: AsyncCallback): void
計算文件的哈希值,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待計算哈希值文件的應用沙箱路徑。 |
algorithm | string | 是 | 哈希計算采用的算法。可選 "md5"、"sha1" 或 "sha256"。建議采用安全強度更高的 "sha256"。 |
callback | AsyncCallback | 是 | 異步計算文件哈希操作之后的回調函數(其中給定文件哈希值表示為十六進制數字串,所有字母均大寫)。 |
示例:
fileio.hash(path, "sha256", function(err, hashStr) {
if (hashStr) {
console.info("calculate file hash succeed:"+ hashStr);
}
});
fileio.chmod7+
chmod(path: string, mode: number):Promise
改變文件權限,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 所需變更權限的文件的應用沙箱路徑。 |
mode | number | 是 | 改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
fileio.chmod(path, 0o700).then(function() {
console.info("chmod succeed");
}).catch(function(err){
console.info("chmod failed with error:"+ err);
});
fileio.chmod7+
chmod(path: string, mode: number, callback: AsyncCallback): void
改變文件權限,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 所需變更權限的文件的應用沙箱路徑。 |
mode | number | 是 | 改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
callback | AsyncCallback | 是 | 異步改變文件權限之后的回調。 |
示例:
fileio.chmod(path, 0o700, function (err) {
// do something
});
fileio.chmodSync7+
chmodSync(path: string, mode: number): void
以同步方法改變文件權限。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 所需變更權限的文件的應用沙箱路徑。 |
mode | number | 是 | 改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
示例:
fileio.chmodSync(path, 0o700);
fileio.fstat7+
fstat(fd: number): Promise
基于文件描述符獲取文件狀態信息,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待獲取文件狀態的文件描述符。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Stat]> | Promise對象。返回表示文件狀態的具體信息。 |
示例:
let fd = fileio.openSync(path);
fileio.fstat(fd).then(function(stat){
console.info("fstat succeed:"+ JSON.stringify(stat));
}).catch(function(err){
console.info("fstat failed with error:"+ err);
});
fileio.fstat7+
fstat(fd: number, callback: AsyncCallback): void
基于文件描述符獲取文件狀態信息,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待獲取文件狀態的文件描述符。 |
callback | AsyncCallback<[Stat]> | 是 | 異步獲取文件狀態信息之后的回調。 |
示例:
let fd = fileio.openSync(path);
fileio.fstat(fd, function (err) {
// do something
});
fileio.fstatSync7+
fstatSync(fd: number): Stat
以同步方法基于文件描述符獲取文件狀態信息。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待獲取文件狀態的文件描述符。 |
返回值:
類型 | 說明 |
---|---|
[Stat] | 表示文件狀態的具體信息。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.fstatSync(fd);
fileio.ftruncate7+
ftruncate(fd: number, len?: number): Promise
基于文件描述符截斷文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待截斷文件的文件描述符。 |
len | number | 否 | 文件截斷后的長度,以字節為單位。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
fileio.ftruncate(fd, 5).then(function(err) {
console.info("truncate file succeed");
}).catch(function(err){
console.info("truncate file failed with error:"+ err);
});
fileio.ftruncate7+
ftruncate(fd: number, len: number, callback:AsyncCallback): void
基于文件描述符截斷文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待截斷文件的文件描述符。 |
len | number | 是 | 文件截斷后的長度,以字節為單位。 |
callback | AsyncCallback | 是 | 回調函數,本調用無返回值。 |
示例:
let fd = fileio.openSync(path);
let len = 5;
fileio.ftruncate(fd, 5, function(err){
// do something
});
fileio.ftruncateSync7+
ftruncateSync(fd: number, len?: number): void
以同步方法基于文件描述符截斷文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待截斷文件的文件描述符。 |
len | number | 否 | 文件截斷后的長度,以字節為單位。 |
示例:
let fd = fileio.openSync(path);
let len = 5;
fileio.ftruncateSync(fd, len);
fileio.truncate7+
truncate(path: string, len?: number): Promise
基于文件路徑截斷文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待截斷文件的應用沙箱路徑。 |
len | number | 否 | 文件截斷后的長度,以字節為單位。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let len = 5;
fileio.truncate(path, len).then(function(){
console.info("truncate file succeed");
}).catch(function(err){
console.info("truncate file failed with error:"+ err);
});
fileio.truncate7+
truncate(path: string, len: number, callback:AsyncCallback): void
基于文件路徑截斷文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待截斷文件的應用沙箱路徑。 |
len | number | 是 | 文件截斷后的長度,以字節為單位。 |
callback | AsyncCallback | 是 | 回調函數,本調用無返回值。 |
示例:
let len = 5;
fileio.truncate(path, len, function(err){
// do something
});
fileio.truncateSync7+
truncateSync(path: string, len?: number): void
以同步方法基于文件路徑截斷文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待截斷文件的應用沙箱路徑。 |
len | number | 否 | 文件截斷后的長度,以字節為單位。 |
示例:
let len = 5;
fileio.truncateSync(path, len);
fileio.readText7+
readText(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): Promise
基于文本方式讀取文件(即直接讀取文件的文本內容),使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filePath | string | 是 | 待讀取文件的應用沙箱路徑。 |
options | Object | 否 | 支持如下選項: - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀取。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - encoding,string類型,當數據是 string 類型時有效,表示數據的編碼方式,默認 'utf-8',僅支持 'utf-8'。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回讀取文件的內容。 |
示例:
fileio.readText(path).then(function(str) {
console.info("readText succeed:"+ str);
}).catch(function(err){
console.info("readText failed with error:"+ err);
});
fileio.readText7+
readText(filePath: string, options: { position?: number; length?: number; encoding?: string; }, callback: AsyncCallback): void
基于文本方式讀取文件(即直接讀取文件的文本內容),使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filePath | string | 是 | 待讀取文件的應用沙箱路徑。 |
options | Object | 是 | 支持如下選項: - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀取。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - encoding,string類型,表示數據的編碼方式,默認 'utf-8',僅支持 'utf-8'。 |
callback | AsyncCallback | 是 | 回調函數,返回讀取文件的內容。 |
示例:
fileio.readText(path, { position: 1, encoding: 'UTF-8' }, function(err, str){
// do something
});
fileio.readTextSync7+
readTextSync(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): string
以同步方法基于文本方式讀取文件(即直接讀取文件的文本內容)。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filePath | string | 是 | 待讀取文件的應用沙箱路徑。 |
options | Object | 否 | 支持如下選項: - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀取。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - encoding,string類型,當數據是 string 類型時有效,表示數據的編碼方式,默認 'utf-8',僅支持 'utf-8'。 |
返回值:
類型 | 說明 |
---|---|
string | 返回讀取文件的內容。 |
示例:
let str = fileio.readTextSync(path, {position: 1, length: 3});
fileio.lstat7+
lstat(path: string): Promise
獲取鏈接信息,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 目標文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Stat]> | promise對象,返回文件對象,表示文件的具體信息,詳情見stat。 |
示例:
fileio.lstat(path).then(function(stat){
console.info("get link status succeed:"+ JSON.stringify(stat));
}).catch(function(err){
console.info("get link status failed with error:"+ err);
});
fileio.lstat7+
lstat(path:string, callback:AsyncCallback): void
獲取鏈接信息,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 目標文件的應用沙箱路徑。 |
callback | AsyncCallback<[Stat]> | 是 | 回調函數,返回文件的具體信息。 |
示例:
fileio.lstat(path, function (err, stat) {
// do something
});
fileio.lstatSync7+
lstatSync(path:string): Stat
以同步方法獲取鏈接信息。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 目標文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
[Stat] | 表示文件的具體信息。 |
示例:
let stat = fileio.lstatSync(path);
fileio.rename7+
rename(oldPath: string, newPath: string): Promise
重命名文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
oldPath | string | 是 | 目標文件的當前應用沙箱路徑。 |
newPath | String | 是 | 目標文件的新應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let oldPath = path;
let newPath = oldPath + '123';
fileio.rename(oldPath, newPath).then(function() {
console.info("rename succeed");
}).catch(function(err){
console.info("rename failed with error:"+ err);
});
fileio.rename7+
rename(oldPath: string, newPath: string, callback: AsyncCallback): void
重命名文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
oldPath | string | 是 | 目標文件的當前應用沙箱路徑。 |
newPath | String | 是 | 目標文件的新應用沙箱路徑。 |
Callback | AsyncCallback | 是 | 異步重命名文件之后的回調。 |
示例:
let oldPath = path;
let newPath = oldPath + '123';
fileio.rename(oldPath, newPath, function(err){
});
fileio.renameSync7+
renameSync(oldPath: string, newPath: string): void
以同步方法重命名文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
oldPath | string | 是 | 目標文件的當前應用沙箱路徑。 |
newPath | String | 是 | 目標文件的新應用沙箱路徑。 |
示例:
let oldPath = path;
let newPath = oldPath + '123';
fileio.renameSync(oldPath, newPath);
fileio.fsync7+
fsync(fd: number): Promise
同步文件數據,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
fileio.fsync(fd).then(function(){
console.info("sync data succeed");
}).catch(function(err){
console.info("sync data failed with error:"+ err);
});
fileio.fsync7+
fsync(fd: number, callback: AsyncCallback): void
同步文件數據,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
Callback | AsyncCallback | 是 | 異步將文件數據同步之后的回調。 |
示例:
let fd = fileio.openSync(path);
fileio.fsync(fd, function(err){
// do something
});
fileio.fsyncSync7+
fsyncSync(fd: number): void
以同步方法同步文件數據。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
示例:
let fd = fileio.openSync(path);
fileio.fsyncSync(fd);
fileio.fdatasync7+
fdatasync(fd: number): Promise
實現文件內容數據同步,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
fileio.fdatasync(fd).then(function(err) {
console.info("sync data succeed");
}).catch(function(err){
console.info("sync data failed with error:"+ err);
});
fileio.fdatasync7+
fdatasync(fd: number, callback:AsyncCallback): void
實現文件內容數據同步,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
callback | AsyncCallback | 是 | 異步將文件內容數據同步之后的回調。 |
示例:
let fd = fileio.openSync(path);
fileio.fdatasync (fd, function (err) {
// do something
});
fileio.fdatasyncSync7+
fdatasyncSync(fd: number): void
以同步方法實現文件內容數據同步。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.fdatasyncSync(fd);
fileio.symlink7+
symlink(target: string, srcPath: string): Promise
基于文件路徑創建符號鏈接,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
target | string | 是 | 目標文件的應用沙箱路徑。 |
srcPath | string | 是 | 符號鏈接文件的應用沙箱路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let target = path;
let srcPath = target + 'aaa';
fileio.symlink(target, srcPath).then(function() {
console.info("symlink succeed");
}).catch(function(err){
console.info("symlink failed with error:"+ err);
});
fileio.symlink7+
symlink(target: string, srcPath: string, callback: AsyncCallback): void
基于文件路徑創建符號鏈接,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
target | string | 是 | 目標文件的應用沙箱路徑。 |
srcPath | string | 是 | 符號鏈接文件的應用沙箱路徑。 |
callback | AsyncCallback | 是 | 異步創建符號鏈接信息之后的回調。 |
示例:
let target = path;
let srcPath = target + 'aaa';
fileio.symlink(target, srcPath, function (err) {
// do something
});
fileio.symlinkSync7+
symlinkSync(target: string, srcPath: string): void
以同步的方法基于文件路徑創建符號鏈接。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
target | string | 是 | 目標文件的應用沙箱路徑。 |
srcPath | string | 是 | 符號鏈接文件的應用沙箱路徑。 |
示例:
let target = path;
let srcPath = target + 'aaa';
fileio.symlinkSync(target, srcPath);
fileio.chown7+
chown(path: string, uid: number, gid: number): Promise
基于文件路徑改變文件所有者,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待改變文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID(UserID)。 |
gid | number | 是 | 新的GID(GroupID)。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let stat = fileio.statSync(path);
fileio.chown(path, stat.uid, stat.gid).then(function(){
console.info("chown succeed");
}).catch(function(err){
console.info("chown failed with error:"+ err);
});
fileio.chown7+
chown(path: string, uid: number, gid: number, callback: AsyncCallback): void
基于文件路徑改變文件所有者,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待改變文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
callback | AsyncCallback | 是 | 異步改變文件所有者之后的回調。 |
示例:
let stat = fileio.statSync(path)
fileio.chown(path, stat.uid, stat.gid, function (err){
// do something
});
fileio.chownSync7+
chownSync(path: string, uid: number, gid: number): void
以同步的方法基于文件路徑改變文件所有者。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待改變文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
示例:
let stat = fileio.statSync(path)
fileio.chownSync(path, stat.uid, stat.gid);
fileio.mkdtemp7+
mkdtemp(prefix: string): Promise
創建臨時目錄,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
prefix | string | 是 | 用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回生成的唯一目錄路徑。 |
示例:
fileio.mkdtemp(path + "XXXX").then(function(path){
console.info("mkdtemp succeed:"+ path);
}).catch(function(err){
console.info("mkdtemp failed with error:"+ err);
});
fileio.mkdtemp7+
mkdtemp(prefix: string, callback: AsyncCallback): void
創建臨時目錄,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
prefix | string | 是 | 用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。 |
callback | AsyncCallback | 是 | 異步創建臨時目錄之后的回調。 |
示例:
fileio.mkdtemp(path + "XXXX", function (err, res) {
// do something
});
fileio.mkdtempSync7+
mkdtempSync(prefix: string): string
以同步的方法創建臨時目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
prefix | string | 是 | 用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。 |
返回值:
類型 | 說明 |
---|---|
string | 產生的唯一目錄路徑。 |
示例:
let res = fileio.mkdtempSync(path + "XXXX");
fileio.fchmod7+
fchmod(fd: number, mode: number): Promise
基于文件描述符改變文件權限,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
mode | number | 是 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
let mode = 0o700;
fileio.fchmod(fd, mode).then(function() {
console.info("chmod succeed");
}).catch(function(err){
console.info("chmod failed with error:"+ err);
});
fileio.fchmod7+
fchmod(fd: number, mode: number, callback: AsyncCallback): void
基于文件描述符改變文件權限,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
mode | number | 是 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
callback | AsyncCallback | 是 | 異步改變文件權限之后的回調。 |
示例:
let fd = fileio.openSync(path);
let mode = 0o700;
fileio.fchmod(fd, mode, function (err) {
// do something
});
fileio.fchmodSync7+
fchmodSync(fd: number, mode: number): void
以同步方法基于文件描述符改變文件權限。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
mode | number | 是 | 若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。 |
示例:
let fd = fileio.openSync(path);
let mode = 0o700;
fileio.fchmodSync(fd, mode);
fileio.createStream7+
createStream(path: string, mode: string): Promise
基于文件路徑打開文件流,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Stream]> | Promise對象。返回文件流的結果。 |
示例:
fileio.createStream(path, "r+").then(function(stream){
console.info("createStream succeed");
}).catch(function(err){
console.info("createStream failed with error:"+ err);
});
fileio.createStream7+
createStream(path: string, mode: string, callback: AsyncCallback): void
基于文件路徑打開文件流,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
callback | AsyncCallback<[Stream]> | 是 | 異步打開文件流之后的回調。 |
示例:
fileio.createStream(path, "r+", function(err, stream){
// do something
});
fileio.createStreamSync7+
createStreamSync(path: string, mode: string): Stream
以同步方法基于文件路徑打開文件流。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
返回值:
類型 | 說明 |
---|---|
[Stream] | 返回文件流的結果。 |
示例:
let ss = fileio.createStreamSync(path, "r+");
fileio.fdopenStream7+
fdopenStream(fd: number, mode: string): Promise
基于文件描述符打開文件流,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待打開文件的文件描述符。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
返回值:
類型 | 說明 |
---|---|
Promise<[Stream]> | Promise對象。返回文件流的結果。 |
示例:
let fd = fileio.openSync(path);
fileio.fdopenStream(fd, "r+").then(function(stream){
console.info("openStream succeed");
}).catch(function(err){
console.info("openStream failed with error:"+ err);
});
fileio.fdopenStream7+
fdopenStream(fd: number, mode: string, callback: AsyncCallback): void
基于文件描述符打開文件流,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待打開文件的文件描述符。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
callback | AsyncCallback <[Stream]> | 是 | 異步打開文件流之后的回調。 |
示例:
let fd = fileio.openSync(path);
fileio.fdopenStream(fd, "r+", function (err, stream) {
// do something
});
fileio.fdopenStreamSync7+
fdopenStreamSync(fd: number, mode: string): Stream
以同步方法基于文件描述符打開文件流。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待打開文件的文件描述符。 |
mode | string | 是 | - r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 |
返回值:
類型 | 說明 |
---|---|
[Stream] | 返回文件流的結果。 |
示例:
let fd = fileio.openSync(path);
let ss = fileio.fdopenStreamSync(fd, "r+");
fileio.fchown7+
fchown(fd: number, uid: number, gid: number): Promise
基于文件描述符改變文件所有者,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有組的GID。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchown(fd, stat.uid, stat.gid).then(function() {
console.info("chown succeed");
}).catch(function(err){
console.info("chown failed with error:"+ err);
});
fileio.fchown7+
fchown(fd: number, uid: number, gid: number, callback: AsyncCallback): void
基于文件描述符改變文件所有者,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有組的GID。 |
callback | AsyncCallback | 是 | 異步改變文件所有者之后的回調。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchown(fd, stat.uid, stat.gid, function (err){
// do something
});
fileio.fchownSync7+
fchownSync(fd: number, uid: number, gid: number): void
以同步方法基于文件描述符改變文件所有者。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fd | number | 是 | 待改變文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有組的GID。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchownSync(fd, stat.uid, stat.gid);
fileio.lchown7+
lchown(path: string, uid: number, gid: number): Promise
基于文件路徑改變文件所有者,更改符號鏈接本身的所有者,而不是符號鏈接所指向的實際文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。無返回值。 |
示例:
let stat = fileio.statSync(path);
fileio.lchown(path, stat.uid, stat.gid).then(function() {
console.info("chown succeed");
}).catch(function(err){
console.info("chown failed with error:"+ err);
});
fileio.lchown7+
lchown(path: string, uid: number, gid: number, callback: AsyncCallback): void
基于文件路徑改變文件所有者,更改符號鏈接本身的所有者,而不是更改符號鏈接所指向的實際文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
callback | AsyncCallback | 是 | 異步改變文件所有者之后的回調。 |
示例:
let stat = fileio.statSync(path);
fileio.lchown(path, stat.uid, stat.gid, function (err){
// do something
});
fileio.lchownSync7+
lchownSync(path: string, uid: number, gid: number): void
以同步方法基于文件路徑改變文件所有者,更改符號鏈接本身的所有者,而不是更改符號鏈接所指向的實際文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 待打開文件的應用沙箱路徑。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
示例:
let stat = fileio.statSync(path);
fileio.lchownSync(path, stat.uid, stat.gid);
fileio.createWatcher7+
createWatcher(filename: string, events: number, callback: AsyncCallback): Watcher
監聽文件或者目錄的變化,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 待監視文件的應用沙箱路徑。 |
events | Number | 是 | - 1: 監聽文件或者目錄是否發生重命名。 - 2:監聽文件或者目錄內容的是否修改。 - 3:兩者都有。 |
callback | AsyncCallback | 是 | 每發生變化一次,調用一次此函數。 |
返回值:
類型 | 說明 |
---|---|
[Watcher] | Promise對象。返回文件變化監聽的實例。 |
示例:
let filename = path +"/test.txt";
fileio.createWatcher(filename, 1, function(number){
console.info("Monitoring times: "+number);
});
Readout
僅用于read方法,獲取文件的讀取結果。
系統能力 :以下各項對應的系統能力均為SystemCapability.FileManagement.File.FileIO。
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
bytesRead | number | 是 | 是 | 實際讀取長度。 |
offset | number | 是 | 是 | 讀取數據相對于緩沖區首地址的偏移。 |
buffer | ArrayBufer | 是 | 是 | 保存讀取數據的緩沖區。 |
Stat
文件具體信息,在調用Stat的方法前,需要先通過[stat()]方法(同步或異步)來構建一個Stat實例。
系統能力 :以下各項對應的系統能力均為SystemCapability.FileManagement.File.FileIO。
屬性
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
dev | number | 是 | 否 | 標識包含該文件的主設備號。 |
ino | number | 是 | 否 | 標識該文件。通常同設備上的不同文件的INO不同。 |
mode | number | 是 | 否 | 表示文件類型及權限,其首 4 位表示文件類型,后 12 位表示權限。各特征位的含義如下: - 0o170000:可用于獲取文件類型的掩碼。 - 0o140000:文件是套接字。 - 0o120000:文件是符號鏈接。 - 0o100000:文件是一般文件。 - 0o060000:文件屬于塊設備。 - 0o040000:文件是目錄。 - 0o020000:文件是字符設備。 - 0o010000:文件是具名管道,即FIFO。 - 0o0700:可用于獲取用戶權限的掩碼。 - 0o0400:用戶讀,對于普通文件,所有者可讀取文件;對于目錄,所有者可讀取目錄項。 - 0o0200:用戶寫,對于普通文件,所有者可寫入文件;對于目錄,所有者可創建/刪除目錄項。 - 0o0100:用戶執行,對于普通文件,所有者可執行文件;對于目錄,所有者可在目錄中搜索給定路徑名。 - 0o0070:可用于獲取用戶組權限的掩碼。 - 0o0040:用戶組讀,對于普通文件,所有用戶組可讀取文件;對于目錄,所有用戶組可讀取目錄項。 - 0o0020:用戶組寫,對于普通文件,所有用戶組可寫入文件;對于目錄,所有用戶組可創建/刪除目錄項。 - 0o0010:用戶組執行,對于普通文件,所有用戶組可執行文件;對于目錄,所有用戶組是否可在目錄中搜索給定路徑名。 - 0o0007:可用于獲取其他用戶權限的掩碼。 - 0o0004:其他讀,對于普通文件,其余用戶可讀取文件;對于目錄,其他用戶組可讀取目錄項。 - 0o0002:其他寫,對于普通文件,其余用戶可寫入文件;對于目錄,其他用戶組可創建/刪除目錄項。 - 0o0001:其他執行,對于普通文件,其余用戶可執行文件;對于目錄,其他用戶組可在目錄中搜索給定路徑名。 |
nlink | number | 是 | 否 | 文件的硬鏈接數。 |
uid | number | 是 | 否 | 文件所有者的ID。 |
gid | number | 是 | 否 | 文件所有組的ID。 |
rdev | number | 是 | 否 | 標識包含該文件的從設備號。 |
size | number | 是 | 否 | 文件的大小,以字節為單位。僅對普通文件有效。 |
blocks | number | 是 | 否 | 文件占用的塊數,計算時塊大小按512B計算。 |
atime | number | 是 | 否 | 上次訪問該文件的時間,表示距1970年1月1日0時0分0秒的秒數。 |
mtime | number | 是 | 否 | 上次修改該文件的時間,表示距1970年1月1日0時0分0秒的秒數。 |
ctime | number | 是 | 否 | 最近改變文件狀態的時間,表示距1970年1月1日0時0分0秒的秒數。 |
isBlockDevice
isBlockDevice(): boolean
用于判斷文件是否是塊特殊文件。一個塊特殊文件只能以塊為粒度進行訪問,且訪問的時候帶緩存。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是塊特殊設備。 |
示例:
let isBLockDevice = fileio.statSync(path).isBlockDevice();
isCharacterDevice
isCharacterDevice(): boolean
用于判斷文件是否是字符特殊文件。一個字符特殊設備可進行隨機訪問,且訪問的時候不帶緩存。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是字符特殊設備。 |
示例:
let isCharacterDevice = fileio.statSync(path).isCharacterDevice();
isDirectory
isDirectory(): boolean
用于判斷文件是否是目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是目錄。 |
示例:
let isDirectory = fileio.statSync(path).isDirectory();
isFIFO
isFIFO(): boolean
用于判斷文件是否是命名管道(有時也稱為FIFO)。命名管道通常用于進程間通信。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是 FIFO。 |
示例:
let isFIFO = fileio.statSync(path).isFIFO();
isFile
isFile(): boolean
用于判斷文件是否是普通文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是普通文件。 |
示例:
let isFile = fileio.statSync(path).isFile();
isSocket
isSocket(): boolean
用于判斷文件是否是套接字。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是套接字。 |
示例:
let isSocket = fileio.statSync(path).isSocket();
isSymbolicLink
isSymbolicLink(): boolean
用于判斷文件是否是符號鏈接。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示文件是否是符號鏈接。 |
示例:
let isSymbolicLink = fileio.statSync(path).isSymbolicLink();
Watcher7+
Watcher是文件變化監聽的實例,調用Watcher.stop()方法(同步或異步)來停止文件監聽。
stop7+
stop(): Promise
關閉watcher監聽,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
let filename = path +"/test.txt";
let watcher = fileio.createWatcher(filename, 1, function(number){
console.info("Monitoring times: "+number);
});
watcher.stop().then(function(){
console.info("close watcher succeed");
});
stop7+
stop(callback: AsyncCallback): void
關閉watcher監聽,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback | 是 | 以異步方法關閉watcher監聽之后的回調。 |
示例:
let filename = path +"/test.txt";
let watcher = fileio.createWatcher(filename, 1, function(number){
console.info("Monitoring times: "+number);
});
watcher.stop(function(){
console.info("close watcher succeed");
})
Stream
文件流,在調用Stream的方法前,需要先通過createStream()方法(同步或異步)來構建一個Stream實例。
close7+
close(): Promise
關閉文件流,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回表示異步關閉文件流的結果。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.close().then(function(){
console.info("close fileStream succeed");
}).catch(function(err){
console.info("close fileStream failed with error:"+ err);
});
close7+
close(callback: AsyncCallback): void
異步關閉文件流,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback | 是 | 異步關閉文件流之后的回調。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.close(function (err) {
// do something
});
closeSync
closeSync(): void
同步關閉文件流。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.closeSync();
flush7+
flush(): Promise
刷新文件流,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回表示異步刷新文件流的結果。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.flush().then(function (){
console.info("flush succeed");
}).catch(function(err){
console.info("flush failed with error:"+ err);
});
flush7+
flush(callback: AsyncCallback): void
異步刷新文件流,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback | 是 | 異步刷新文件流后的回調函數。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.flush(function (err) {
// do something
});
flushSync7+
flushSync(): void
同步刷新文件流。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.flushSync();
write7+
write(buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise
將數據寫入流文件,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise對象。返回實際寫入的長度。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.write("hello, world",{offset: 1,length: 5,position: 5,encoding :'utf-8'}).then(function (number){
console.info("write succeed and size is:"+ number);
}).catch(function(err){
console.info("write failed with error:"+ err);
});
write7+
write(buffer: ArrayBuffer | string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback): void
將數據寫入流文件,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
callback | AsyncCallback | 是 | 異步寫入完成后執行的回調函數。 |
示例:
let ss= fileio.createStreamSync(path, "r+");
ss.write("hello, world", {offset: 1, length: 5, position: 5, encoding :'utf-8'}, function (err, bytesWritten) {
if (bytesWritten) {
// do something
console.info("write succeed and size is:"+ bytesWritten);
}
});
writeSync7+
writeSync(buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): number
以同步方法將數據寫入流文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
number | 實際寫入的長度。 |
示例:
let ss= fileio.createStreamSync(path,"r+");
let num = ss.writeSync("hello, world", {offset: 1, length: 5, position: 5, encoding :'utf-8'});
read7+
read(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }): Promise
從流文件讀取數據,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于讀取文件的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
Promise<[ReadOut]> | Promise對象。返回讀取的結果。 |
示例:
let ss = fileio.createStreamSync(path, "r+");
ss.read(new ArrayBuffer(4096), {offset: 1, length: 5, position: 5}).then(function (readOut){
console.info("read data succeed");
console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}).catch(function(err){
console.info("read data failed with error:"+ err);
});
read7+
read(buffer: ArrayBuffer, options: { position?: number; offset?: number; length?: number; }, callback: AsyncCallback): void
從流文件讀取數據,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于讀取文件的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
callback | AsyncCallback<[ReadOut]> | 是 | 異步從流文件讀取數據之后的回調。 |
示例:
let ss = fileio.createStreamSync(path, "r+");
ss.read(new ArrayBuffer(4096),{offset: 1, length: 5, position: 5},function (err, readOut) {
if (readOut) {
console.info("read data succeed");
console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}
});
readSync7+
readSync(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }): number
以同步方法從流文件讀取數據。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于讀取文件的緩沖區。 |
options | Object | 否 | 支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。 |
返回值:
類型 | 說明 |
---|---|
number | 實際讀取的長度。 |
示例:
let ss = fileio.createStreamSync(path, "r+");
let num = ss.readSync(new ArrayBuffer(4096), {offset: 1, length: 5, position: 5});
Dir
管理目錄,在調用Dir的方法前,需要先通過opendir方法(同步或異步)來構建一個Dir實例。
read
read(): Promise
讀取下一個目錄項,使用Promise異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
Promise<[Dirent]> | Promise對象。返回表示異步讀取目錄項的結果。 |
示例:
dir.read().then(function (dirent){
console.log("read succeed:"+JSON.stringify(dirent));
}).catch(function(err){
console.info("read failed with error:"+ err);
});
read
read(callback: AsyncCallback): void
讀取下一個目錄項,使用callback異步回調。
系統能力 :SystemCapability.FileManagement.File.FileIO
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<[Dirent]> | 是 | 異步讀取下一個目錄項之后的回調。 |
示例:
dir.read(function (err, dirent) {
if (dirent) {
// do something
console.log("read succeed:"+JSON.stringify(dirent));
}
});
readSync
readSync(): Dirent
同步讀取下一個目錄項。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
[Dirent] | 表示一個目錄項。 |
示例:
let dirent = dir.readSync();
close7+
close(): Promise
異步關閉目錄,使用promise形式返回結果。目錄被關閉后,Dir中持有的文件描述將被釋放,后續將無法從Dir中讀取目錄項。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
dir.close().then(function(err){
console.info("close dir successfully");
});
close7+
close(callback: AsyncCallback): void
異步關閉目錄,使用callback形式返回結果。目錄被關閉后,Dir中持有的文件描述將被釋放,后續將無法從Dir中讀取目錄項。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
dir.close(function(err){
console.info("close dir successfully");
});
closeSync
closeSync(): void
用于關閉目錄。目錄被關閉后,Dir中持有的文件描述將被釋放,后續將無法從Dir中讀取目錄項。
系統能力 :SystemCapability.FileManagement.File.FileIO
示例:
dir.closeSync();
Dirent
在調用Dirent的方法前,需要先通過[dir.read()]方法(同步或異步)來構建一個Dirent實例。
系統能力 :以下各項對應的系統能力均為SystemCapability.FileManagement.File.FileIO。
屬性
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
name | string | 是 | 否 | 目錄項的名稱。 |
isBlockDevice
isBlockDevice(): boolean
用于判斷當前目錄項是否是塊特殊文件。一個塊特殊文件只能以塊為粒度進行訪問,且訪問的時候帶緩存。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是塊特殊設備。 |
示例:
let dir = fileio.opendirSync(path);
let isBLockDevice = dir.readSync().isBlockDevice();
isCharacterDevice
isCharacterDevice(): boolean
用于判斷當前目錄項是否是字符特殊設備。一個字符特殊設備可進行隨機訪問,且訪問的時候不帶緩存。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是字符特殊設備。 |
示例:
let dir = fileio.opendirSync(path);
let isCharacterDevice = dir.readSync().isCharacterDevice();
isDirectory
isDirectory(): boolean
用于判斷當前目錄項是否是目錄。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是目錄。 |
示例:
let dir = fileio.opendirSync(path);
let isDirectory = dir.readSync().isDirectory();
isFIFO
isFIFO(): boolean
用于判斷當前目錄項是否是命名管道(有時也稱為FIFO)。命名管道通常用于進程間通信。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是FIFO。 |
示例:
let dir = fileio.opendirSync(path);
let isFIFO = dir.readSync().isFIFO();
isFile
isFile(): boolean
用于判斷當前目錄項是否是普通文件。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是普通文件。 |
示例:
let dir = fileio.opendirSync(path);
let isFile = dir.readSync().isFile();
isSocket
isSocket(): boolean
用于判斷當前目錄項是否是套接字。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是套接字。 |
示例:
let dir = fileio.opendirSync(path);
let isSocket = dir.readSync().isSocket();
isSymbolicLink
isSymbolicLink(): boolean
用于判斷當前目錄項是否是符號鏈接。
系統能力 :SystemCapability.FileManagement.File.FileIO
返回值:
類型 | 說明 |
---|---|
boolean | 表示當前目錄項是否是符號鏈接。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例:
let dir = fileio.opendirSync(path);
let isSymbolicLink = dir.readSync().isSymbolicLink();
審核編輯 黃宇
-
接口
+關注
關注
33文章
8691瀏覽量
151906 -
鴻蒙
+關注
關注
57文章
2392瀏覽量
43046
發布評論請先 登錄
相關推薦
esp8266收發文件中的接收固件該怎么處理呢?
《鴻蒙設備學習菜鳥指南》之 【五、搭建開發環境】
sdk5鴻蒙利用文件管理器獲取文件Uri的過程
自制一款鴻蒙應用文件管理器
文件管理開發指南全新登場,快來了解如何訪問各類文件
鴻蒙開發實戰:【文件管理】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>實戰:【<b class='flag-5'>文件</b><b class='flag-5'>管理</b>】](https://file1.elecfans.com/web2/M00/C5/2E/wKgZomX66t2AGSgfAAExDiFy8dc366.png)
評論