添加依赖:

  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 中文件工具类的更多相关文章

  1. 自动扫描FTP文件工具类 ScanFtp.java

    package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  2. 读取Config文件工具类 PropertiesConfig.java

    package com.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io ...

  3. Android FileUtil(android文件工具类)

    android开发和Java开发差不了多少,也会有许多相同的功能.像本文提到的文件存储,在Java项目和android项目里面用到都是相同的.只是android开发的一些路径做了相应的处理. 下面就是 ...

  4. Java常用工具类---IP工具类、File文件工具类

    package com.jarvis.base.util; import java.io.IOException;import java.io.InputStreamReader;import jav ...

  5. 简单了解Spring中常用工具类_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...

  6. FileUtils 文件工具类

    FileUtils 下载jar中的文件 package com.meeno.chemical.common.utils; import lombok.extern.slf4j.Slf4j; impor ...

  7. Property工具类,Properties文件工具类,PropertiesUtils工具类

    Property工具类,Properties文件工具类,PropertiesUtils工具类 >>>>>>>>>>>>>& ...

  8. JUC学习笔记--JUC中并发工具类

    JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, ...

  9. Java 实现删除文件工具类

    工具代码 package com.wangbo; import java.io.File; /** * 删除目录或文件工具类 * @author wangbo * @date 2017-04-11 1 ...

随机推荐

  1. vs中找到接口和抽象类的具体实现类

    如何找到接口和抽象类的具体实现类 1,可以使用:ctrl+k clrl+t打开调用层次结构窗口: 2,移动到实现节点: 3,然后可以转到具体实现: 第二种安装插件 ReSharper 第三种方法: 在 ...

  2. 微信小程序之随笔

    先写到这里https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html

  3. 07 c++中的内联函数inline

    文章链接: 问题描述:类中成员函数缺省默认是内联的,如果在类定义时就在类内给出函数定义,那当然最好.如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联 ...

  4. python3.7内置函数整理笔记

    #python3.7 内置函数整理 #abs(x) #返回数字的绝对值. 参数可以是整数或浮点数. 如果参数是复数,则返回其大小 # print(abs(1)) # print(abs(-1)) # ...

  5. 神经网络(4)---神经网络是如何帮助我们学习复杂的nonlinear hypotheses

    神经网络是如何一步步进行计算的,以及对计算过程的向量化 Z1(2),Z2(2),Z3(2) are just weighted linear combination of input value x1 ...

  6. 文件操作-with和上下文管理器

    代码: # -*- coding:utf-8 -*- # 普通版 如果写入的过程中出错 则不会释放资源 def m1(): f = open("test.txt","w& ...

  7. go mod

    https://blog.csdn.net/zzhongcy/article/details/97243826 来自为知笔记(Wiz)

  8. 洛谷 P2279 [HNOI2003]消防局的设立 题解

    每日一题 day34 打卡 Analysis 这道题的正解本来是树形dp,但要设5个状态,太麻烦了.于是我就用贪心试图做出此题,没想到还真做出来了. 考虑当前深度最大的叶子结点,你肯定要有一个消防局去 ...

  9. ORA-609 错误分析及解决方法 (转载)

    某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误,大致内容如下: ***************************************************** ...

  10. Hadoop2.8 安装

    一.下载Hadoop与java jdk-8u221-linux-x64.tar.gz  Oracle官网下载 hadoop-2.8.5.tar.gz   Hadoop官网下载 二.配置服务期间ssh免 ...