码迷,mamicode.com
首页 > 其他好文 > 详细

flutter 中文件工具类

时间:2019-09-21 21:02:17      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:添加   import   sem   应用   class   ack   example   ret   color   

添加依赖:

  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 中文件工具类

标签:添加   import   sem   应用   class   ack   example   ret   color   

原文地址:https://www.cnblogs.com/loaderman/p/11532295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!