zoukankan      html  css  js  c++  java
  • 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);
            });
          });
        });
  • 相关阅读:
    office2013 激活方式
    c# DataGridView绑定DataTable对象之后总会多一行
    oracle函数验证时间格式并返回
    Linux虚拟机与外面系统ping不通,或者连不上网
    恢复oracle中误删除drop掉的表
    WebService 检测到有潜在危险的 Request.Form 值
    mybatis标签之——关联映射
    word使用宏定义来统一设置图片大小
    mybatis常用标签
    mybatis标签之——<trim>
  • 原文地址:https://www.cnblogs.com/loaderman/p/11532295.html
Copyright © 2011-2022 走看看