0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙语言基础类库:system.file 文件存储

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-07-17 10:41 次阅读

文件存储

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 从API Version 6开始,该接口不再维护,推荐使用新接口[@ohos.fileio]。
  • 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import file from '@system.file';

file.move

move(Object): void

将指定文件移动到其他指定位置。

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

参数

参数名类型必填说明
srcUristring要移动的文件的uri。字符串最大长度为128,且不能包含“"*+,:;<=>?[]
dstUristring文件要移动到的位置的uri。字符串最大长度为128,且不能包含“"*+,:;<=>?[]
successFunction接口调用成功的回调函数,返回文件要移动到的位置的uri。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。

示例:

export default {    
  move() {        
    file.move({            
      srcUri: 'internal://app/myfiles1',            
      dstUri: 'internal://app/myfiles2',            
      success: function(uri) {                
        console.log('call success callback success');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },        
    });    
  }
}

file.copy

copy(Object): void

将指定文件拷贝并存储到指定位置。

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

参数:

参数名类型必填说明
srcUristring要拷贝的文件的uri。
dstUristring文件要拷贝到的位置的uri。 不支持用应用资源路径或tmp类型的uri。
successFunction接口调用成功的回调函数,返回文件要拷贝到的位置的uri。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。

示例:

export default {    
  copy() {        
    file.copy({            
      srcUri: 'internal://app/file.txt',            
      dstUri: 'internal://app/file_copy.txt',            
      success: function(uri) {                
        console.log('call success callback success');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.list

list(Object): void

获取指定路径下全部文件的列表。

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

参数:

参数名类型必填说明
uristring目录uri。字符串最大长度为128,且不能包含“"*+,:;<=>?[]
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

success返回值:

参数名类型说明
fileListArray获取的文件列表,其中每个文件的信息的格式为: { uri:'file1', lastModifiedTime:1589965924479, length:10240, type: 'file' }

表1 FileInfo

参数名类型说明
uristring文件的 uri。
lastModifiedTimenumber文件上一次保存时的时间戳,显示从1970/01/01 00:00:00 GMT到当前时间的毫秒数。
lengthnumber文件的大小,单位为字节。
typestring文件的类型,可选值为: - dir:目录; - file:文件。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。

示例:

export default {    
  list() {        
    file.list({            
      uri: 'internal://app/pic',            
      success: function(data) {                
        console.log(JSON.stringify(data.fileList));            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },        
    });    
  }
}

file.get

get(Object): void

获取指定本地文件的信息。

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

参数:

参数名类型必填说明
uristring文件的uri。
recursiveboolean是否进行递归获取子目录文件列表,缺省为false。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

success返回值:

参数名类型说明
uristring文件的uri。
lengthnumber文件字节长。
lastModifiedTimenumber文件保存时的时间戳,从1970/01/01 00:00:00到当前时间的毫秒数。
typestring文件类型,可选值为: - dir:目录; - file:文件。
subFilesArray文件列表。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。

示例:

export default {    
  get() {        
    file.get({            
      uri: 'internal://app/file',            
      success: function(data) {                
        console.log(data.uri);            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.delete

delete(Object): void

删除本地文件。

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

参数:

参数名类型必填说明
uristring删除文件的uri,不能是应用资源路径。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202参数错误。
300I/O错误。
301文件或目录不存在。

示例:

export default {    
  delete() {        
    file.delete({            
      uri: 'internal://app/my_file',            
      success: function() {                
        console.log('call delete success.');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.writeText

writeText(Object): void

写文本内容到指定文件。仅支持文本文档读写。

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

参数:

参数名类型必填说明
uristring本地文件uri,如果文件不存在会创建文件。
textstring写入的字符串。
encodingstring编码格式,默认为UTF-8。
appendboolean是否追加模式,默认为false。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202参数错误。
300I/O错误。

示例:

export default {    
  writeText() {        
    file.writeText({            
      uri: 'internal://app/test.txt',            
      text: 'Text that just for test.',            
      success: function() {                
        console.log('call writeText success.');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },        
    });    
  }
}

file.writeArrayBuffer

writeArrayBuffer(Object): void

写Buffer内容到指定文件。仅支持文本文档读写。

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

参数:

参数名类型必填说明
uristring本地文件uri,如果文件不存在会创建文件。
bufferUint8Array写入的Buffer。
positionnumber文件开始写入数据的位置的偏移量,默认为0。
appendboolean是否追加模式,默认为false。当设置为true时,position参数无效。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。

示例:

export default {    
  writeArrayBuffer() {       
    file.writeArrayBuffer({           
      uri: 'internal://app/test',           
      buffer: new Uint8Array(8), //buffer为Uint8Array类型           
      success: function() {                
        console.log('call writeArrayBuffer success.');            
      },           
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.readText

readText(Object): void

从指定文件中读取文本内容。仅支持文本文档读写。

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

参数:

参数名类型必填说明
uristring本地文件uri。
encodingstring编码格式,缺省为UTF-8。
positionnumber读取的起始位置,默认值为文件的起始位置。
lengthnumber读取的长度,默认值为4096。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

success返回值:

参数名类型说明
textstring读取到的文本内容。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。
302要读取的文件内容超过4KB。

示例:

export default {    
  readText() {        
    file.readText({            
      uri: 'internal://app/text.txt',            
      success: function(data) {                
        console.log('call readText success: ' + data.text);            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },        
    });    
  }
}

file.readArrayBuffer

readArrayBuffer(Object): void

从指定文件中读取Buffer内容。仅支持文本文档读写。

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

参数:

参数名类型必填说明
uristring本地文件uri。
positionnumber读取的起始位置,缺省为文件的起始位置。
lengthnumber需要读取的长度,缺省则读取到文件结尾。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

success返回值:

参数名类型说明
bufferUint8Array读取到的文件内容。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O错误。
301文件或目录不存在。

示例:

export default {    
  readArrayBuffer() {        
    file.readArrayBuffer({            
      uri: 'internal://app/test',            
      position: 10,            
      length: 200,            
      success: function(data) {                
        console.log('call readArrayBuffer success: ' + data.buffer);            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.access

access(Object): void

判断指定文件或目录是否存在。

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

参数:

参数名类型必填说明
uristring目录或文件uri。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O 错误。
301文件或目录不存在。

示例:

export default {    
  access() {        
    file.access({            
      uri: 'internal://app/test',            
      success: function() {                
        console.log('call access success.');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },        
    });    
  }
}

file.mkdir

mkdir(Object): void

创建指定目录。

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

参数:

参数名类型必填说明
uristring目录的uri路径。
recursiveboolean是否递归创建该目录的上级目录,缺省为false。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O 错误。

示例:

export default {    
  mkdir() {        
    file.mkdir({            
      uri: 'internal://app/test_directory',            
      success: function() {                
        console.log('call mkdir success.');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

file.rmdir

rmdir(Object): void

删除指定目录。

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

参数:

参数名类型必填说明
uristring目录的uri路径。
recursiveboolean是否递归删除子文件和子目录,缺省为false。
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。

fail返回错误代码:

错误码说明
202出现参数错误。
300出现I/O 错误。
301文件或目录不存在。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

QQ截图20240715201512.png
示例:

export default {    
  rmdir() {        
    file.rmdir({            
      uri: 'internal://app/test_directory',            
      success: function() {                
        console.log('call rmdir success.');            
      },            
      fail: function(data, code) {                
        console.error('call fail callback fail, code: ' + code + ', data: ' + data);            
      },
    });    
  }
}

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    56

    文章

    2264

    浏览量

    42451
收藏 人收藏

    评论

    相关推荐

    ArkTS语言基础-解析

    被设计用来传输和存储数据,是一种可扩展标记语言语言基础提供了[XML生成、解析与转换]的能力。 URL、URI构造和解析能力:其中[U
    发表于 02-20 16:44

    鸿蒙原生应用开发-ArkTS语言基础概述

    ArkTS语言基础是HarmonyOS系统上为应用开发者提供的常用基础能力,主要包含能力如下图所示。 1.提供异步并发和多线程并发的能力。 支持Promise和async/await等标准
    发表于 03-05 15:42

    如何在普通的鸿蒙工程中使用编译好的SO文件

    。二、SO的使用本篇主要介绍如何在普通的鸿蒙工程中使用编译好的SO文件。首先,新建一个普通的鸿蒙项目工程,我的工程名叫SOTest。项目
    发表于 03-25 10:06

    请问JS api有获取文件列表的接口么?

    的fileio.opendirSync和dir.readSync都没有返回列表,@system.filefile.list也尝试了,报202参数错误,//data/data
    发表于 03-30 11:02

    FAT File System

    FAT File System,PCB学习好资料,欢迎下载学习。
    发表于 03-23 10:50 0次下载

    IPFS存储文件的方法

    IPFS - InterPlanetary File System 星际文件系统,是一个点对点的分布式文件存储系统,IPFS的愿景是构建一个
    发表于 09-29 15:43 6220次阅读
    IPFS<b class='flag-5'>存储</b><b class='flag-5'>文件</b>的方法

    HarmonyOS语言基础开发指南上线啦!

    语言基础提供哪些功能?多线程并发如何实现?TaskPool(任务池)和Worker在实现和使用场景上有何不同? 针对开发者关注的并发等语言基础
    的头像 发表于 10-18 16:20 407次阅读
    HarmonyOS<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>开发指南上线啦!

    鸿蒙OpenHarmony大合集:【语言基础

    本示例集合语言基础的各个子模块,展示了各个模块的基础功能
    的头像 发表于 04-29 16:38 384次阅读
    <b class='flag-5'>鸿蒙</b>OpenHarmony大合集:【<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>】

    鸿蒙语言基础:ohos.data.storage 轻量级存储

    轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的
    的头像 发表于 07-15 18:21 743次阅读

    鸿蒙语言基础system.bluetooth 蓝牙

    开始搜寻附近的低功耗蓝牙外围设备。此操作比较耗费系统资源,请在搜索并连接到设备后调用[bluetooth.stopBLEScan]方法停止搜索。
    的头像 发表于 07-15 17:28 241次阅读
    <b class='flag-5'>鸿蒙语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>system</b>.bluetooth 蓝牙

    鸿蒙语言基础system.brightness 屏幕亮度

    获得设备当前的屏幕亮度值。
    的头像 发表于 07-15 17:56 620次阅读
    <b class='flag-5'>鸿蒙语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>system</b>.brightness 屏幕亮度

    鸿蒙语言基础system.configuration 应用配置

    获取应用当前的语言和地区。默认与系统的语言和地区同步。
    的头像 发表于 07-16 09:34 178次阅读

    鸿蒙语言基础system.device 设备信息

    在首页的onShow生命周期之前不建议调用device.getInfo接口。
    的头像 发表于 07-16 09:17 216次阅读

    鸿蒙语言基础system.network 网络状态

    获取当前设备的网络类型。
    的头像 发表于 07-18 09:37 140次阅读

    鸿蒙语言基础system.notification 通知消息

    以下各项对应的系统能力均为SystemCapability.Notification.Notification
    的头像 发表于 07-18 09:23 176次阅读