自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony文件管理API實踐

系統(tǒng) OpenHarmony
文件管理API 從Version 6 開始支持,由于目前華為對公共文件訪問的API暫時還沒開放,所以目前只能對應用私有目錄下的文件操作權限。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

前言

文件管理在我們?nèi)粘J褂檬謾C中是一個非常重要的功能,我們可以通過文件管理相關 API 實現(xiàn)對指定文件的刪除、復制、移動、壓縮解壓縮等操作。文件管理API 從Version 6 開始支持,由于目前華為對公共文件訪問的API暫時還沒開放,所以目前只能對應用私有目錄下的文件操作權限

參考資料

HarmonyOS文件管理JS API。

OpenHarmony API。

獲取當前應用私有目錄。

使用該功能模塊對文件/目錄進行操作前,需要先獲取其絕對路徑,獲取方式及其接口用法請參考:??Ability上下文。??

在使用AbilityContext的功能前,需要通過getContext()先獲取Context對象。在使用AbilityContext的功能前,需要通過getContext()先獲取Context對象。

示例:

import ability_featureability from '@ohos.ability.featureAbility'
var context = ability_featureability.getContext();

獲取應用內(nèi)部存儲目錄除了可以通過AbilityContext之外,還可以使用特定scheme(只支持internal)來訪問預定義的一些文件存取目錄,詳細描述見??存儲目錄定義??。

不同設備上對應的實際位置不同。對于不在下列目錄下的文件訪問將被拒絕(禁止使用../等方式訪問父目錄)。

通過實際代碼操作發(fā)現(xiàn)context.getFilesDir()獲取的目錄/data/data/應用包名/files跟internal://app/的目錄是一樣的,這個在后面的示例代碼中有體現(xiàn)。

創(chuàng)建文件目錄

官方API文檔提供了多種創(chuàng)建文件目錄的方式,這里只對其中一種方式進行演示,其他方式可自行驗證。

mkdir(path:string, mode?: number): Promise。

以異步方法創(chuàng)建目錄,使用promise形式返回結果。這里我們通過context.getFilesDir()獲取到當前的應用的私有目錄,并在該文件夾下創(chuàng)建了4個文件夾。

獲取指定路徑下的所有文件

獲取指定目錄下的所有文件需要用到system.file模塊。

import file from '@system.file';

復制雖然官方文檔說從API Version 6開始,該接口不再維護,推薦使用新接口'@ohos.fileio'。

但是我在fileio模塊中并未找到相關接口,不知道是文檔沒有更新還是怎么回事,所以只能繼續(xù)使用system.file模塊了,期待華為后面更新文檔。

system.file模塊接口文檔參考??獲取指定路徑下全部文件的列表??。

示例:

在這里我們可以看到我通過獲取internal://app/目錄下的所有文件,可以看到我們上面在/data/data/應用包名/files下創(chuàng)建的文件夾。

獲取文件詳細信息

以異步方法獲取文件信息,使用callback形式返回結果。fileio.stat()。

參數(shù):

示例:

fileio.stat(path, function (err, stat) {    
});

刪除目錄

以異步方法刪除目錄,使用callback形式返回結果。fileio.rmdir (BETA)7+。

參數(shù):

示例:

fileio.rmdir(path, function(err){ 
});

刪除文件

以異步方法刪除文件,使用callback形式返回結果。fileio.unlink()。

參數(shù):

示例:

await fileio.unlink(path, function(err) {
if (!err) {
// do something
}
});

文件的復制、移動操作

以異步方法復制文件,使用callback形式返回結果。fileio.copyFile()

參數(shù):

示例:

await fileio.copyFile(src, dest, function (err) { 
});

總結:以上只是部分接口實踐,其他接接口大家可以參照華為官方API參考和openHarmony源碼自行實踐,這里推薦大家隨時隨地關注官方文檔的更新,因為有些API雖然文檔中介紹了,但是實際引用的時候發(fā)現(xiàn)相關功能并未實現(xiàn)。所以我們要時時刻刻的關注官方文檔更新情況。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關推薦

2021-11-25 09:54:54

鴻蒙HarmonyOS應用

2022-02-25 15:08:06

DevEco開發(fā)OpenHarmon鴻蒙

2022-03-10 14:45:23

HarmonyAPI操作系統(tǒng)

2022-03-04 15:43:36

文件管理模塊Harmony鴻蒙

2023-05-04 16:08:43

2022-02-28 14:54:48

openHarmon鴻蒙操作系統(tǒng)

2018-12-04 09:00:00

API安全性令牌

2022-03-30 14:07:47

Harmony操作系統(tǒng)鴻蒙

2022-02-17 17:05:31

OpenHarmonWEB前端鴻蒙

2023-07-27 14:38:33

開源鴻蒙

2023-06-20 15:45:15

服務卡片鴻蒙

2024-01-22 12:46:00

KubernetesAPI接口

2023-06-09 15:24:50

UiTest接口鴻蒙

2023-06-12 15:43:44

鴻蒙智能家居開發(fā)

2023-07-18 14:00:00

鴻蒙Sample案例

2019-01-21 14:20:26

Java開發(fā)代碼

2013-06-13 09:21:31

RESTful APIRESTfulAPI

2023-03-10 09:32:31

ANY功能短數(shù)據(jù)通信功能

2016-12-27 08:49:55

API設計策略

2022-06-22 09:14:23

事件打點HiSysEvent
點贊
收藏

51CTO技術棧公眾號