flutter 中文件工具类

Posted loaderman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter 中文件工具类相关的知识,希望对你有一定的参考价值。

添加依赖:

  path_provider: ^0.5.0+1
import ‘dart:convert‘;
import ‘dart:io‘;

import ‘package:path_provider/path_provider.dart‘;

class FileUtils 
  /// 临时目录: /data/user/0/com.example.myapp/cache
  /// 一个临时目录(缓存),系统可以随时清除。
  static Future<String> getTempDir() async 
    try 
      Directory tempDir = await getTemporaryDirectory();
      return tempDir.path;
     catch (err) 
      print(err);
      return null;
    
  

  /// 文档目录: /data/user/0/com.example.myapp/app_flutter
  /// 应用程序的目录,用于存储只有它可以访问的文件。只有当应用程序被删除时,系统才会清除目录。
  static Future<String> getAppDocDir() async 
    try 
      Directory appDocDir = await getApplicationDocumentsDirectory();
      return appDocDir.path;
     catch (err) 
      print(err);
      return null;
    
  

  static readFile(filePath) 
    return new File(‘$filePath‘);
  

  /// 读取json文件
  static Future<String> readJsonFile(filePath) async 
    try 
      final file = readFile(filePath);
      return await file.readAsString();
     catch (err) 
      print(err);
      return null;
    
  

  /// 写入json文件
  static Future<File> writeJsonFile(obj, filePath) async 
    try 
      final file = readFile(filePath);
      return await file.writeAsString(json.encode(obj));
     catch (err) 
      print(err);
      return null;
    
  

使用:

      FileUtils.getAppDocDir().then((String appDocDir) 
      String filePath = appDocDir + ‘/test.json‘;
      FileUtils.readJsonFile(filePath).then((String sms) 
        if (_sms == null || sms.isEmpty) 
      
          return;
        
        setState(() 
          Map marketingSmsMap = json.decode(sms);
          DataBean _bean = new DataBean.fromJson(marketingSmsMap);
        );
      );
    );

 

以上是关于flutter 中文件工具类的主要内容,如果未能解决你的问题,请参考以下文章

FlutterUtils 工具库

Flutter Gzip 编码与解码 Dart Gzip 工具类操作

Flutter实战之GetX工具类封装-GetUtils

Flutter实战之GetX工具类封装-GetUtils

flutter 日志工具类

Flutter 学习 之 时间转换工具类