那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發文件管理:【@ohos.fileio (文件管理)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-12 18:12 ? 次閱讀

文件管理

該模塊提供文件存儲管理能力,包括文件基本管理、文件目錄管理、文件信息統計、文件流式讀寫等常用功能。

icon-note.gif說明: 本模塊首批接口從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

參數

參數名類型必填說明
pathstring待獲取文件的應用沙箱路徑。

返回值:

類型說明
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

參數:

參數名類型必填說明
pathstring待獲取文件的應用沙箱路徑。
callbackAsyncCallback<[Stat]>異步獲取文件的信息之后的回調。

示例:

fileio.stat(path, function (err, stat) {
    // example code in Stat
});

fileio.statSync

statSync(path:string): Stat

以同步方法獲取文件的信息。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待獲取文件的應用沙箱路徑。

返回值:

類型說明
[Stat]表示文件的具體信息。

示例:

let stat = fileio.statSync(path);
// example code in Stat

fileio.opendir

opendir(path: string): Promise

打開文件目錄,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待打開文件目錄的應用沙箱路徑。

返回值:

類型說明
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

參數:

參數名類型必填說明
pathstring待打開文件目錄的應用沙箱路徑。
callbackAsyncCallback<[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

參數:

參數名類型必填說明
pathstring待打開文件目錄的應用沙箱路徑。

返回值:

類型說明
[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

參數:

參數名類型必填說明
pathstring待訪問文件的應用沙箱路徑。
modenumber訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定0。 確認當前進程是否具有對應權限: - 0:確認文件是否存在。 - 1:確認當前進程是否具有可執行權限。 - 2:確認當前進程是否具有寫權限。 - 4:確認當前進程是否具有讀權限。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待訪問文件的應用沙箱路徑。
modenumber訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定0。 確認當前進程是否具有對應權限: - 0:確認文件是否存在。 - 1:確認當前進程是否具有可執行權限。 - 2:確認當前進程是否具有寫權限。 - 4:確認當前進程是否具有讀權限。
callbackAsyncCallback異步檢查當前進程是否可訪問某文件之后的回調。

示例:

fileio.access(path, function (err) {
    // do something
});

fileio.accessSync

accessSync(path: string, mode?: number): void

以同步方法檢查當前進程是否可訪問某文件。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待訪問文件的應用沙箱路徑。
modenumber訪問文件時的選項,可給定如下選項,以按位或的方式使用多個選項,默認給定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

參數:

參數名類型必填說明
fdnumber待關閉文件的文件描述符。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待關閉文件的文件描述符。
callbackAsyncCallback異步關閉文件之后的回調。

示例:

let fd = fileio.openSync(path);
fileio.close(fd, function (err) {
    // do something
});

fileio.closeSync

closeSync(fd: number): void

以同步方法關閉文件。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待關閉文件的文件描述符。

示例:

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

參數:

參數名類型必填說明
srcstringnumber
deststringnumber
modenumbermode提供覆蓋文件的選項,當前僅支持0,且默認為0。 0:完全覆蓋目標文件,未覆蓋部分將被裁切掉。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
srcstringnumber
deststringnumber
modenumbermode提供覆蓋文件的選項,當前僅支持0,且默認為0。 0:完全覆蓋目標文件,未覆蓋部分將被裁切掉。
callbackAsyncCallback異步復制文件之后的回調。

示例:

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

參數:

參數名類型必填說明
srcstringnumber
deststringnumber
modenumbermode提供覆蓋文件的選項,當前僅支持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

參數:

參數名類型必填說明
pathstring待創建目錄的應用沙箱路徑。
modenumber創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o775。 - 0o775:所有者具有讀、寫及可執行權限,其余用戶具有讀及可執行權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待創建目錄的應用沙箱路徑。
modenumber創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o775。 - 0o775:所有者具有讀、寫及可執行權限,其余用戶具有讀及可執行權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。
callbackAsyncCallback異步創建目錄操作完成之后的回調。

示例:

fileio.mkdir(path, function(err) {
  console.info("mkdir succeed");
});

fileio.mkdirSync

mkdirSync(path: string, mode?: number): void

以同步方法創建目錄。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待創建目錄的應用沙箱路徑。
modenumber創建目錄的權限,可給定如下權限,以按位或的方式追加權限,默認給定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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
flagsnumber打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o666。 - 0o666:所有者具有讀、寫權限,所有用戶組具有讀、寫權限,其余用戶具有讀、寫權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。

返回值:

類型說明
PromisePromise對象。返回打開文件的文件描述符。

示例:

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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
flagsnumber打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定0o666。 - 0o666:所有者具有讀、寫權限,所有用戶組具有讀、寫權限,其余用戶具有讀、寫權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。
callbackAsyncCallback異步打開文件之后的回調。

示例:

fileio.open(path, 0, function(err, fd) {
    // do something
});

fileio.openSync

openSync(path:string, flags?:number, mode?:number): number

以同步方法打開文件。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
flagsnumber打開文件的選項,必須指定如下選項中的一個,默認以只讀方式打開: - 0o0:只讀打開。 - 0o1:只寫打開。 - 0o2:讀寫打開。 同時,也可給定如下選項,以按位或的方式追加,默認不給定任何額外選項: - 0o100:若文件不存在,則創建文件。使用該選項時必須指定第三個參數 mode。 - 0o200:如果追加了0o100選項,且文件已經存在,則出錯。 - 0o1000:如果文件存在且以只寫或讀寫的方式打開文件,則將其長度裁剪為零。 - 0o2000:以追加方式打開,后續寫將追加到文件末尾。 - 0o4000:如果path指向FIFO、塊特殊文件或字符特殊文件,則本次打開及后續 IO 進行非阻塞操作。 - 0o200000:如果path不指向目錄,則出錯。 - 0o400000:如果path指向符號鏈接,則出錯。 - 0o4010000:以同步IO的方式打開文件。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限,默認給定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

參數:

參數名類型必填說明
fdnumber待讀取文件的文件描述符。
bufferArrayBuffer用于保存讀取到的文件數據的緩沖區。
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
fdnumber待讀取文件的文件描述符。
bufferArrayBuffer用于保存讀取到的文件數據的緩沖區。
optionsObject支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。
callbackAsyncCallback<[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

參數:

參數名類型必填說明
fdnumber待讀取文件的文件描述符。
bufferArrayBuffer用于保存讀取到的文件數據的緩沖區。
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
pathstring待刪除目錄的應用沙箱路徑。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待刪除目錄的應用沙箱路徑。
callbackAsyncCallback異步刪除目錄之后的回調。

示例:

fileio.rmdir(path, function(err){
    // do something
    console.info("rmdir succeed");
});

fileio.rmdirSync7+

rmdirSync(path: string): void

以同步方法刪除目錄。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待刪除目錄的應用沙箱路徑。

示例:

fileio.rmdirSync(path);

fileio.unlink

unlink(path:string): Promise

刪除文件,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待刪除文件的應用沙箱路徑。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待刪除文件的應用沙箱路徑。
callbackAsyncCallback異步刪除文件之后的回調。

示例:

fileio.unlink(path, function(err) {
    console.info("remove file succeed");
});

fileio.unlinkSync

unlinkSync(path: string): void

以同步方法刪除文件。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待刪除文件的應用沙箱路徑。

示例:

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

參數:

參數名類型必填說明
fdnumber待寫入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。

返回值:

類型說明
PromisePromise對象。返回實際寫入的長度。

示例:

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

參數:

參數名類型必填說明
fdnumber待寫入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。
callbackAsyncCallback異步將數據寫入完成后執行的回調函數。

示例:

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

參數:

參數名類型必填說明
fdnumber待寫入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
pathstring待計算哈希值文件的應用沙箱路徑。
algorithmstring哈希計算采用的算法。可選 "md5"、"sha1" 或 "sha256"。建議采用安全強度更高的 "sha256"。

返回值:

類型說明
PromisePromise對象。返回文件的哈希值。表示為十六進制數字串,所有字母均大寫。

示例:

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

參數:

參數名類型必填說明
pathstring待計算哈希值文件的應用沙箱路徑。
algorithmstring哈希計算采用的算法。可選 "md5"、"sha1" 或 "sha256"。建議采用安全強度更高的 "sha256"。
callbackAsyncCallback異步計算文件哈希操作之后的回調函數(其中給定文件哈希值表示為十六進制數字串,所有字母均大寫)。

示例:

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

參數:

參數名類型必填說明
pathstring所需變更權限的文件的應用沙箱路徑。
modenumber改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring所需變更權限的文件的應用沙箱路徑。
modenumber改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。
callbackAsyncCallback異步改變文件權限之后的回調。

示例:

fileio.chmod(path, 0o700, function (err) {
    // do something
});

fileio.chmodSync7+

chmodSync(path: string, mode: number): void

以同步方法改變文件權限。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring所需變更權限的文件的應用沙箱路徑。
modenumber改變文件權限,可給定如下權限,以按位或的方式追加權限。 - 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

參數:

參數名類型必填說明
fdnumber待獲取文件狀態的文件描述符。

返回值:

類型說明
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

參數:

參數名類型必填說明
fdnumber待獲取文件狀態的文件描述符。
callbackAsyncCallback<[Stat]>異步獲取文件狀態信息之后的回調。

示例:

let fd = fileio.openSync(path);
fileio.fstat(fd, function (err) {
    // do something
});

fileio.fstatSync7+

fstatSync(fd: number): Stat

以同步方法基于文件描述符獲取文件狀態信息。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待獲取文件狀態的文件描述符。

返回值:

類型說明
[Stat]表示文件狀態的具體信息。

示例:

let fd = fileio.openSync(path);
let stat = fileio.fstatSync(fd);

fileio.ftruncate7+

ftruncate(fd: number, len?: number): Promise

基于文件描述符截斷文件,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待截斷文件的文件描述符。
lennumber文件截斷后的長度,以字節為單位。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待截斷文件的文件描述符。
lennumber文件截斷后的長度,以字節為單位。
callbackAsyncCallback回調函數,本調用無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待截斷文件的文件描述符。
lennumber文件截斷后的長度,以字節為單位。

示例:

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

參數:

參數名類型必填說明
pathstring待截斷文件的應用沙箱路徑。
lennumber文件截斷后的長度,以字節為單位。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待截斷文件的應用沙箱路徑。
lennumber文件截斷后的長度,以字節為單位。
callbackAsyncCallback回調函數,本調用無返回值。

示例:

let len = 5;
fileio.truncate(path, len, function(err){
    // do something
});

fileio.truncateSync7+

truncateSync(path: string, len?: number): void

以同步方法基于文件路徑截斷文件。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待截斷文件的應用沙箱路徑。
lennumber文件截斷后的長度,以字節為單位。

示例:

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

參數:

參數名類型必填說明
filePathstring待讀取文件的應用沙箱路徑。
optionsObject支持如下選項: - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀取。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - encoding,string類型,當數據是 string 類型時有效,表示數據的編碼方式,默認 'utf-8',僅支持 'utf-8'。

返回值:

類型說明
PromisePromise對象。返回讀取文件的內容。

示例:

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

參數:

參數名類型必填說明
filePathstring待讀取文件的應用沙箱路徑。
optionsObject支持如下選項: - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀取。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - encoding,string類型,表示數據的編碼方式,默認 'utf-8',僅支持 'utf-8'。
callbackAsyncCallback回調函數,返回讀取文件的內容。

示例:

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

參數:

參數名類型必填說明
filePathstring待讀取文件的應用沙箱路徑。
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
pathstring目標文件的應用沙箱路徑。

返回值:

類型說明
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

參數:

參數名類型必填說明
pathstring目標文件的應用沙箱路徑。
callbackAsyncCallback<[Stat]>回調函數,返回文件的具體信息。

示例:

fileio.lstat(path, function (err, stat) {
    // do something
});

fileio.lstatSync7+

lstatSync(path:string): Stat

以同步方法獲取鏈接信息。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring目標文件的應用沙箱路徑。

返回值:

類型說明
[Stat]表示文件的具體信息。

示例:

let stat = fileio.lstatSync(path);

fileio.rename7+

rename(oldPath: string, newPath: string): Promise

重命名文件,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
oldPathstring目標文件的當前應用沙箱路徑。
newPathString目標文件的新應用沙箱路徑。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
oldPathstring目標文件的當前應用沙箱路徑。
newPathString目標文件的新應用沙箱路徑。
CallbackAsyncCallback異步重命名文件之后的回調。

示例:

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

參數:

參數名類型必填說明
oldPathstring目標文件的當前應用沙箱路徑。
newPathString目標文件的新應用沙箱路徑。

示例:

let oldPath = path;
let newPath = oldPath + '123';
fileio.renameSync(oldPath, newPath);

fileio.fsync7+

fsync(fd: number): Promise

同步文件數據,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。
CallbackAsyncCallback異步將文件數據同步之后的回調。

示例:

let fd = fileio.openSync(path);
fileio.fsync(fd, function(err){
    // do something
});

fileio.fsyncSync7+

fsyncSync(fd: number): void

以同步方法同步文件數據。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。

示例:

let fd = fileio.openSync(path);
fileio.fsyncSync(fd);

fileio.fdatasync7+

fdatasync(fd: number): Promise

實現文件內容數據同步,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。
callbackAsyncCallback異步將文件內容數據同步之后的回調。

示例:

let fd = fileio.openSync(path);
fileio.fdatasync (fd, function (err) {
    // do something
});

fileio.fdatasyncSync7+

fdatasyncSync(fd: number): void

以同步方法實現文件內容數據同步。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待同步文件的文件描述符。

示例:

let fd = fileio.openSync(path);
let stat = fileio.fdatasyncSync(fd);

fileio.symlink7+

symlink(target: string, srcPath: string): Promise

基于文件路徑創建符號鏈接,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
targetstring目標文件的應用沙箱路徑。
srcPathstring符號鏈接文件的應用沙箱路徑。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
targetstring目標文件的應用沙箱路徑。
srcPathstring符號鏈接文件的應用沙箱路徑。
callbackAsyncCallback異步創建符號鏈接信息之后的回調。

示例:

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

參數:

參數名類型必填說明
targetstring目標文件的應用沙箱路徑。
srcPathstring符號鏈接文件的應用沙箱路徑。

示例:

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

參數:

參數名類型必填說明
pathstring待改變文件的應用沙箱路徑。
uidnumber新的UID(UserID)。
gidnumber新的GID(GroupID)。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待改變文件的應用沙箱路徑。
uidnumber新的UID。
gidnumber新的GID。
callbackAsyncCallback異步改變文件所有者之后的回調。

示例:

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

參數:

參數名類型必填說明
pathstring待改變文件的應用沙箱路徑。
uidnumber新的UID。
gidnumber新的GID。

示例:

let stat = fileio.statSync(path)
fileio.chownSync(path, stat.uid, stat.gid);

fileio.mkdtemp7+

mkdtemp(prefix: string): Promise

創建臨時目錄,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
prefixstring用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。

返回值:

類型說明
PromisePromise對象。返回生成的唯一目錄路徑。

示例:

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

參數:

參數名類型必填說明
prefixstring用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。
callbackAsyncCallback異步創建臨時目錄之后的回調。

示例:

fileio.mkdtemp(path + "XXXX", function (err, res) {
    // do something
});

fileio.mkdtempSync7+

mkdtempSync(prefix: string): string

以同步的方法創建臨時目錄。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
prefixstring用隨機產生的字符串替換以“XXXXXX”結尾目錄路徑。

返回值:

類型說明
string產生的唯一目錄路徑。

示例:

let res = fileio.mkdtempSync(path + "XXXX");

fileio.fchmod7+

fchmod(fd: number, mode: number): Promise

基于文件描述符改變文件權限,使用Promise異步回調。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 0o700:所有者具有讀、寫及可執行權限。 - 0o400:所有者具有讀權限。 - 0o200:所有者具有寫權限。 - 0o100:所有者具有可執行權限。 - 0o070:所有用戶組具有讀、寫及可執行權限。 - 0o040:所有用戶組具有讀權限。 - 0o020:所有用戶組具有寫權限。 - 0o010:所有用戶組具有可執行權限。 - 0o007:其余用戶具有讀、寫及可執行權限。 - 0o004:其余用戶具有讀權限。 - 0o002:其余用戶具有寫權限。 - 0o001:其余用戶具有可執行權限。
callbackAsyncCallback異步改變文件權限之后的回調。

示例:

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

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
modenumber若創建文件,則指定文件的權限,可給定如下權限,以按位或的方式追加權限。 - 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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
modestring- 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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
modestring- r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。
callbackAsyncCallback<[Stream]>異步打開文件流之后的回調。

示例:

fileio.createStream(path, "r+", function(err, stream){
    // do something
});

fileio.createStreamSync7+

createStreamSync(path: string, mode: string): Stream

以同步方法基于文件路徑打開文件流。

系統能力 :SystemCapability.FileManagement.File.FileIO

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
modestring- 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

參數:

參數名類型必填說明
fdnumber待打開文件的文件描述符。
modestring- 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

參數:

參數名類型必填說明
fdnumber待打開文件的文件描述符。
modestring- r:打開只讀文件,該文件必須存在。 - r+:打開可讀寫的文件,該文件必須存在。 - w:打開只寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - w+:打開可讀寫文件,若文件存在則文件長度清0,即該文件內容會消失。若文件不存在則建立該文件。 - a:以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。 - a+:以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。
callbackAsyncCallback <[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

參數:

參數名類型必填說明
fdnumber待打開文件的文件描述符。
modestring- 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

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有組的GID。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有組的GID。
callbackAsyncCallback異步改變文件所有者之后的回調。

示例:

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

參數:

參數名類型必填說明
fdnumber待改變文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有組的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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
uidnumber新的UID。
gidnumber新的GID。

返回值:

類型說明
PromisePromise對象。無返回值。

示例:

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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
uidnumber新的UID。
gidnumber新的GID。
callbackAsyncCallback異步改變文件所有者之后的回調。

示例:

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

參數:

參數名類型必填說明
pathstring待打開文件的應用沙箱路徑。
uidnumber新的UID。
gidnumber新的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

參數:

參數名類型必填說明
filenamestring待監視文件的應用沙箱路徑。
eventsNumber- 1: 監聽文件或者目錄是否發生重命名。 - 2:監聽文件或者目錄內容的是否修改。 - 3:兩者都有。
callbackAsyncCallback每發生變化一次,調用一次此函數。

返回值:

類型說明
[Watcher]Promise對象。返回文件變化監聽的實例。

示例:

let filename = path +"/test.txt";
fileio.createWatcher(filename, 1, function(number){
   console.info("Monitoring times: "+number);
});

Readout

僅用于read方法,獲取文件的讀取結果。

系統能力 :以下各項對應的系統能力均為SystemCapability.FileManagement.File.FileIO。

名稱參數類型可讀可寫說明
bytesReadnumber實際讀取長度。
offsetnumber讀取數據相對于緩沖區首地址的偏移。
bufferArrayBufer保存讀取數據的緩沖區。

Stat

文件具體信息,在調用Stat的方法前,需要先通過[stat()]方法(同步或異步)來構建一個Stat實例。

系統能力 :以下各項對應的系統能力均為SystemCapability.FileManagement.File.FileIO。

屬性

名稱參數類型可讀可寫說明
devnumber標識包含該文件的主設備號。
inonumber標識該文件。通常同設備上的不同文件的INO不同。
modenumber表示文件類型及權限,其首 4 位表示文件類型,后 12 位表示權限。各特征位的含義如下: - 0o170000:可用于獲取文件類型的掩碼。 - 0o140000:文件是套接字。 - 0o120000:文件是符號鏈接。 - 0o100000:文件是一般文件。 - 0o060000:文件屬于塊設備。 - 0o040000:文件是目錄。 - 0o020000:文件是字符設備。 - 0o010000:文件是具名管道,即FIFO。 - 0o0700:可用于獲取用戶權限的掩碼。 - 0o0400:用戶讀,對于普通文件,所有者可讀取文件;對于目錄,所有者可讀取目錄項。 - 0o0200:用戶寫,對于普通文件,所有者可寫入文件;對于目錄,所有者可創建/刪除目錄項。 - 0o0100:用戶執行,對于普通文件,所有者可執行文件;對于目錄,所有者可在目錄中搜索給定路徑名。 - 0o0070:可用于獲取用戶組權限的掩碼。 - 0o0040:用戶組讀,對于普通文件,所有用戶組可讀取文件;對于目錄,所有用戶組可讀取目錄項。 - 0o0020:用戶組寫,對于普通文件,所有用戶組可寫入文件;對于目錄,所有用戶組可創建/刪除目錄項。 - 0o0010:用戶組執行,對于普通文件,所有用戶組可執行文件;對于目錄,所有用戶組是否可在目錄中搜索給定路徑名。 - 0o0007:可用于獲取其他用戶權限的掩碼。 - 0o0004:其他讀,對于普通文件,其余用戶可讀取文件;對于目錄,其他用戶組可讀取目錄項。 - 0o0002:其他寫,對于普通文件,其余用戶可寫入文件;對于目錄,其他用戶組可創建/刪除目錄項。 - 0o0001:其他執行,對于普通文件,其余用戶可執行文件;對于目錄,其他用戶組可在目錄中搜索給定路徑名。
nlinknumber文件的硬鏈接數。
uidnumber文件所有者的ID。
gidnumber文件所有組的ID。
rdevnumber標識包含該文件的從設備號。
sizenumber文件的大小,以字節為單位。僅對普通文件有效。
blocksnumber文件占用的塊數,計算時塊大小按512B計算。
atimenumber上次訪問該文件的時間,表示距1970年1月1日0時0分0秒的秒數。
mtimenumber上次修改該文件的時間,表示距1970年1月1日0時0分0秒的秒數。
ctimenumber最近改變文件狀態的時間,表示距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

參數:

參數名類型必填說明
callbackAsyncCallback以異步方法關閉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

返回值:

類型說明
PromisePromise對象。返回表示異步關閉文件流的結果。

示例:

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

參數:

參數名類型必填說明
callbackAsyncCallback異步關閉文件流之后的回調。

示例:

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

返回值:

類型說明
PromisePromise對象。返回表示異步刷新文件流的結果。

示例:

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

參數:

參數名類型必填說明
callbackAsyncCallback異步刷新文件流后的回調函數。

示例:

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

參數:

參數名類型必填說明
bufferArrayBufferstring
optionsObject支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。

返回值:

類型說明
PromisePromise對象。返回實際寫入的長度。

示例:

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

參數:

參數名類型必填說明
bufferArrayBufferstring
optionsObject支持如下選項: - offset,number類型,表示期望寫入數據的位置相對于數據首地址的偏移。可選,默認為0。 - length,number類型,表示期望寫入數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望寫入文件的位置。可選,默認從當前位置開始寫。 - encoding,string類型,當數據是string類型時有效,表示數據的編碼方式,默認 'utf-8'。僅支持 'utf-8'。 約束:offset+length<=buffer.size。
callbackAsyncCallback異步寫入完成后執行的回調函數。

示例:

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

參數:

參數名類型必填說明
bufferArrayBufferstring
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
bufferArrayBuffer用于讀取文件的緩沖區。
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
bufferArrayBuffer用于讀取文件的緩沖區。
optionsObject支持如下選項: - offset,number類型,表示將數據讀取到緩沖區的位置,即相對于緩沖區首地址的偏移。可選,默認為0。 - length,number類型,表示期望讀取數據的長度。可選,默認緩沖區長度減去偏移長度。 - position,number類型,表示期望讀取文件的位置。可選,默認從當前位置開始讀。 約束:offset+length<=buffer.size。
callbackAsyncCallback<[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

參數:

參數名類型必填說明
bufferArrayBuffer用于讀取文件的緩沖區。
optionsObject支持如下選項: - 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

參數:

參數名類型必填說明
callbackAsyncCallback<[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。

屬性

名稱參數類型可讀可寫說明
namestring目錄項的名稱。

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表示當前目錄項是否是符號鏈接。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

新文檔.png

示例:

let dir = fileio.opendirSync(path);
let isSymbolicLink = dir.readSync().isSymbolicLink();

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151906
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43046
收藏 人收藏

    評論

    相關推薦

    esp8266那個模塊能發文件嗎?

    esp8266那個模塊能發文件嗎怎么發高手指點一下
    發表于 07-03 03:34

    esp8266收發文件中的接收固件該怎么處理呢?

    我想用esp8266 來做stm32的固件升級 那這樣的話就需要接收esp8266就需要接收發過來的固件(文件),這個接收固件(bin文件)怎么做處理呢? 求高手指教,之前也提問過一個收發文件的問題 ,感覺還不是太清楚
    發表于 07-31 00:29

    鴻蒙設備學習菜鳥指南》之 【五、搭建開發環境】

    全套開發環境? Linux系統:同上 開發環境建立后,我們要做的第一件事情,就是在建立一個目錄,名字叫做OHOS,后面我們的開發文件,都放在這個目錄內,便于統一
    發表于 10-30 13:59

    sdk5鴻蒙利用文件管理器獲取文件Uri的過程

    )); } 捕捉(異常e){系統。出.println(e.toString()); }}} }}文件最大可以選擇500個,它返回的uri好像是安卓的uri,所以需要轉換成鴻蒙的,這樣子就到了看路徑的形式,他應該是把文件弄到了
    發表于 04-27 11:03

    在網頁遠程前面板中,觸發文件對話框子VI沒有反應 要怎么解決

    想實現通過網頁遠程前面板,上傳文件到程序中這個功能,但是在網頁中點擊按鈕觸發文件對話框按鈕沒有反應
    發表于 05-30 15:57

    嵌入式linux系統開發文件類型

    、符號鏈接文件、管道文件、套接字文件、字符設備文件、塊設備文件。下面尚觀教育小編給同學們講解嵌入式linux
    發表于 08-27 11:31 ?428次閱讀

    自制一款鴻蒙應用文件管理

    在涉及應用內部存儲的開發時,常常翻閱手機自帶的文件管理檢查。正好在學習文件管理的接口,想著實現一個第三方組件用于當前應用的
    的頭像 發表于 03-08 14:22 ?1917次閱讀

    文件管理開發指南全新登場,快來了解如何訪問各類文件

    在應用開發的過程中,我們經常會用到各種各樣的文件,例如文檔、圖片、音頻、視頻等,如何管理和訪問這些文件?應用沙箱如何使用?應用如何選擇和保存用戶文件
    的頭像 發表于 06-09 09:10 ?620次閱讀

    鴻蒙開發實戰:【文件管理

    文件管理相關的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager]?、[@
    的頭像 發表于 03-20 21:57 ?718次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>實戰:【<b class='flag-5'>文件</b><b class='flag-5'>管理</b>】

    鴻蒙開發文件管理:【@ohos.document (文件交互)】

    通過文件管理器選擇文件,異步返回文件URI,使用promise形式返回結果。
    的頭像 發表于 06-11 17:51 ?514次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.document (<b class='flag-5'>文件</b>交互)】

    鴻蒙開發文件管理:【@ohos.environment (目錄環境能力)】

    該模塊提供環境目錄能力,獲取內存存儲根目錄、公共文件根目錄的JS接口。
    的頭像 發表于 06-13 10:27 ?607次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.environment (目錄環境能力)】

    鴻蒙開發文件管理:【@ohos.fileManager (公共文件訪問與管理)】

    該模塊提供公共文件訪問和管理的服務接口,向下對接底層文件管理服務,如媒體庫、外卡管理;向上對應用程序提供公共
    的頭像 發表于 06-12 17:00 ?1021次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileManager (公共<b class='flag-5'>文件</b>訪問與<b class='flag-5'>管理</b>)】

    鴻蒙開發文件管理:【@ohos.securityLabel (數據標簽)】

    該模塊提供文件數據安全等級的相關功能:向應用程序提供查詢、設置文件數據安全等級的JS接口。
    的頭像 發表于 06-13 17:04 ?328次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.securityLabel (數據標簽)】

    鴻蒙開發文件管理:【@ohos.statfs (statfs)】

    該模塊提供文件系統相關存儲信息的功能,向應用程序提供獲取文件系統總字節數、空閑字節數的JS接口。
    的頭像 發表于 06-13 09:46 ?335次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.statfs (statfs)】

    鴻蒙開發文件管理:【@ohos.volumeManager (卷管理)】

    該模塊提供卷、磁盤查詢和管理的相關功能:包括查詢卷信息,對卷的掛載卸載、對磁盤分區以及卷的格式化等功能。
    的頭像 發表于 06-14 10:12 ?513次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.volumeManager (卷<b class='flag-5'>管理</b>)】
    988百家乐官网娱乐| 威尼斯人娱乐城澳门威| 莱阳市| 百家乐怎么才赢| 大发888集团| 百家乐官网澳门技巧| 爱赢百家乐的玩法技巧和规则 | 集结号棋牌下载| 娱乐城百家乐官网的玩法技巧和规则 | 百家乐的技术与心态| 总统娱乐城| 大家旺百家乐娱乐城| 电白县| 百家乐凯时娱乐网| 网上百家乐官网哪家最好| 澳门百家乐然后赢| 百家乐官网怎样玩才能赢| 谁会玩百家乐的玩法技巧和规则 | 百家乐官网园蒙| 永利高平台网址| 四方百家乐官网的玩法技巧和规则| 大发888注册送58下载| 逍遥坊百家乐官网的玩法技巧和规则 | 百家乐网上最好网站| 网上百家乐官网心得| 百家乐英皇娱乐场开户注册| 百家乐官网注册开户送现金| 微信百家乐群规则大全| 环球百家乐官网娱乐城| 迭部县| 百家乐投法| 百家乐官网单机版的| 战神线上娱乐| 百家乐赌博策略大全| 百家乐官网换人| 958棋牌游戏| 百家乐投注注技巧| gt百家乐官网平台假吗| 大发888娱乐城在线| 百家乐看不到视频| 百家乐官网游戏软件开发|