2-SII--应用本包下文件写入和读取
零、先说一下我的IO小工具方法:
1.IO读写:
![](https://upload-images.jianshu.io/upload_images/9414344-2695d801081f28fb.png)
2.读取InputStream
/*** 读取InputStream** @param is 输入流* @return 流转化的字符串* @throws IOException IO异常*/private static String read(InputStream is) throws IOException {byte[] temp = new byte[1024];int len = 0;StringBuilder sb = new StringBuilder("");while ((len = is.read(temp)) > 0) {sb.append(new String(temp, 0, len));}return sb.toString();}
3.写入OutputStream
/*** 写入OutputStream** @param os 输出流* @param fileContent 文本内容*/private void write(OutputStream os, String fileContent) {try {if (fileContent != null) {os.write(fileContent.getBytes());}close(os);//关闭输出流} catch (IOException e) {e.printStackTrace();}}
4.关闭可关闭对象
/*** 关闭可关闭对象** @param io 可关闭对象*/private void close(Closeable io) {if (io != null) {try {io.close();} catch (IOException e) {L.e(e);}}}
一、本包下文件读写:
写入/data/data/com.toly1994.sii_file/files/writeInLocal.txt
//写入数据 追加模式在/data/data/com.toly1994.sii_file/files文件家下创建writeInLocal.txt,内容"toly"
fileHelper.writeInLocal(this, "writeInLocal.txt", "toly", true);
//写入数据 覆盖模式在/data/data/com.toly1994.sii_file/files文件家下创建writeInLocal_2.txt,内容"toly"
fileHelper.writeInLocal(this, "writeInLocal_2.txt", "toly", false);
![](https://upload-images.jianshu.io/upload_images/9414344-8e16e46549d2ed5a.png)
读取:/data/data/com.toly1994.sii_file/files/writeInLocal.txt
String data = fileHelper.readInLocal(this, "writeInLocal.txt");
Log.e(TAG, data);//tolytolytoly
数据写入:
/*** 在data/data/本包中写入文件:追加文件模式** @param fileName 文件名* @param fileContent 文件内容* @param append 是否以追加模式*/public void writeInLocal(Context ctx,String fileName, String fileContent,boolean append) {FileOutputStream fos = null;try {fos = ctx.openFileOutput(fileName, append?Context.MODE_APPEND:Context.MODE_PRIVATE);write(fos, fileContent);} catch (FileNotFoundException e) {e.printStackTrace();} finally {close(fos);}}
读取数据:
/*** 在data/data/本包中读取文件** @param fileName 文件名* @return 文件内容*/public String readInLocal(Context ctx,String fileName) {FileInputStream fis = null;String result = null;try {fis = ctx.openFileInput(fileName);result = read(fis);//关闭输入流fis.close();} catch (IOException e) {e.printStackTrace();} finally {close(fis);}return result;}
二、读取assets文件夹的文件
![](https://upload-images.jianshu.io/upload_images/9414344-0c0edaa4bb3d371b.png)
代码调用
String assetsData = fileHelper.readInAssets(this, "act.json");
Log.e(TAG, assetsData);//{"name":"toly"}
代码实现
/*** //从assets 中读取文件/** @param fileName 文件名* @return 文件内容*/public String readInAssets(Context ctx,String fileName) {InputStream is = null;String result = null;try {is = ctx.getAssets().open(fileName);result = read(is);//关闭输入流is.close();} catch (IOException e) {e.printStackTrace();} finally {close(is);}return result;}
后记、
1.声明:
[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
[4]你的喜欢与支持将是我最大的动力
2.连接传送门:
更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
简书首发,腾讯云+社区同步更新
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com
3.联系我
QQ:1981462002
邮箱:1981462002@qq.com
微信:zdl1994328
4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
![](https://upload-images.jianshu.io/upload_images/9414344-c474349cd3bd4b82.jpg)
转载于:https://www.cnblogs.com/toly-top/p/9781939.html
2-SII--应用本包下文件写入和读取相关推荐
- Linux环境下文件写入失败可能原因
Linux环境下文件写入失败可能原因 一.空间爆满 df -h #查看空间占用情况 二.文件数量inodes超出限制 df -i 解决办法 <1> 使用NetApp的存储服务器则修改ino ...
- labview文件写入与读取
labview-文件写入与读取 常用的文件格式 二进制-所有其他文件格式的基础: 二进制文件的特点是:存取速度快,格式紧凑,冗余数据最少,适用于高速数据采集. ASCII-特定类型的二进制文件,多数程 ...
- excel文件写入、读取:node-xlsx模块
excel文件写入.读取 node代码 示例截图 需要使用fs模块.node-xlsx模块: 下载依赖包node-xlsx: npm install node-xlsx --save node代码 / ...
- 学生信息管理---C#文件写入及读取
C#文件写入及读取 功能 程序 实现效果 后续 功能 左边的分组框用于输入学生信息(包括学号.姓名.性别.年龄和分数),用户单击"添加"命令按钮时将当前学生信息添加到指定的文本文件 ...
- io包下 文件类 字节流 字符流 缓冲流 转换流 序列化流 打印流
第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String pat ...
- 【PHP】文件写入和读取详解
文章提纲: 一.实现文件读取和写入的基本思路 二.使用fopen方法打开文件 三.文件读取和文件写入操作 四.使用fclose方法关闭文件 五.文件指针的移动 六.Windows和UNIX下的回车和换 ...
- Python学习笔记——文件写入和读取
1.文件写入 #coding:utf-8 #!/usr/bin/env python 'makeTextPyhton.py -- create text file'import os ls = os. ...
- python读取txt文件写入-python 读取、写入txt文件的示例
写入文件 使用open()函数和write()函数 但是有两种写法,分别是'a'和'w' 'a' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,会接着已有的内容的后面写入 with ope ...
- 用C语言创建文件写入并读取
我创建一个新文件,用fprintf写入一个数组,没问题.但是当我再次直接读取这个文件里的数组时就出错即这样: #include "stdio.h" int main() { FIL ...
最新文章
- hookup_2.10-0.2.3.jar包下载
- 如何在centos7上网卡名称回归传统
- 【极客学院每日1课 】Java入门与常用技巧
- 网络流 (EK Dinic)
- 利用python实现ORM
- 拳王虚拟项目公社:有什么适合女孩做的副业?免费虚拟资源下载后盈利的虚拟副业项目
- 2021-08-09 idea -- Mysql 增删改查
- 由一个照片,可以看出云是个物体
- OBS推流工具使用说明
- python进行数据处理——pandas的drop函数
- 如何写论文摘要和引言
- 进入网站后台,提示HTTP错误404.0-NOtFound
- 【阿里云IoT+YF3300】2.阿里云IoT云端通信Alink协议介绍
- scare机器人如何手眼标定_Epson四轴机器人的手眼标定(原理并附上halcon代码)...
- T20,寻寻觅觅冷冷清清凄凄惨惨切切。。。
- 计算机视觉 | 八斗人工智能 (中)
- nginx启动无反应
- 2015最具成长性、发展力的创新互联网公司100佳
- 实时油价接口 按城市检索加油站
- 经典语录-每日积累-03
热门文章
- 中国港口码头市场运营分析及“十四五”规划建议报告2022年版
- 热点追踪 | 数据,想说爱你不容易
- SSM框架详细整合教程(Spring+SpringMVC+MyBatis)
- C++编写一个求x的n次方的函数(其中n为非负整型)
- X~N(0,1),如何求E(X^2),E(X^4),E(X^n)
- 计算机网络交换机原理,计算机网络__交换机工作原理
- 顽固的计算机老师,电脑运行很慢 四招教你清除电脑系统里的那些“顽固垃圾”...
- [MSDN]关键字查询语言 (KQL) 语法参考
- 智力题------扔硬币吃苹果
- 你在小时候玩过哪些「恶心」的游戏?