Flutter添加文件目录管理path_provider

注我,一起成长,一起变强。

1.添加path_provider

官方链接见https://pub-web.flutter-io.cn/packages/path_provider

支持平台Android/iOS/Linux/macOS/Windows

2.pubspec.yaml添加依赖

  path_provider: ^2.1.2

3.示例

import 'package:path_provider/path_provider.dart';

class FileMgr {
  FileMgr._privateConstructor();

  static final FileMgr instance = FileMgr._privateConstructor();
  //文档目录
  String? _documentsDirectory;
  //临时目录
  String? _temporaryDirectory;
  //
  String? _cacheDirectory;

  //获取文档目录
  Future<String> getDocumentsDirectory() async {
    _documentsDirectory ??= (await getApplicationDocumentsDirectory()).path;

    return _documentsDirectory!;
  }

//获取临时目录
  /// - `NSCachesDirectory` on iOS and macOS.
  /// - `Context.getCacheDir` on Android.
  Future<String> getTemporaryDirectoryPath() async {
    _temporaryDirectory ??= (await getTemporaryDirectory()).path;
    return _temporaryDirectory!;
  }

//获取缓存目录
  Future<String> getApplicationSupportDirectoryPath() async {
    _cacheDirectory ??= (await getApplicationSupportDirectory()).path;
    return _cacheDirectory!;
  }
}

调用

 debugPrint('cacheDirectory:${await FileMgr.instance.getApplicationSupportDirectoryPath()}n documentsDirectory:${await FileMgr.instance.getDocumentsDirectory()} n temporaryDirectoryPath:${await FileMgr.instance.getTemporaryDirectoryPath()}');

4.效果

flutter: cacheDirectory:/Users/ksnowlv/Library/Developer/CoreSimulator/Devices/F35779E0-8AA1-4124-BECC-E1945A8E4000/data/Containers/Data/Application/DD4D8EF3-1CC4-4B8D-9C8F-DF0726E2C55E/Library/Application Support
flutter:  documentsDirectory:/Users/ksnowlv/Library/Developer/CoreSimulator/Devices/F35779E0-8AA1-4124-BECC-E1945A8E4000/data/Containers/Data/Application/DD4D8EF3-1CC4-4B8D-9C8F-DF0726E2C55E/Documents
flutter:  temporaryDirectoryPath:/Users/ksnowlv/Library/Developer/CoreSimulator/Devices/F35779E0-8AA1-4124-BECC-E1945A8E4000/data/Containers/Data/Application/DD4D8EF3-1CC4-4B8D-9C8F-DF0726E2C55E/Library/Caches

5.小结

1.目录

文档目录、临时目录,缓存目录为应用中常用目录,上述仅做演示;不同的平台可能会有差异,注意区别。




原文始发于微信公众号(客户端全栈技术养成记):Flutter添加文件目录管理path_provider

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/286867.html

(0)
服务端技术精选的头像服务端技术精选

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!