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