Android中文件读写(输入流和输出流)操作小结
作者:junjie 发布时间:2023-07-23 02:53:19
标签:Android,文件读写,输入流,输出流
1. Android中文件读写的原理:
(1).所有文件的储存都是字节的储存。
(2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。
(3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列。
2. 字节流和字符流的区别:
(1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以。
(2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter。
一般我们在使用的时候通常用字节流。
3. 文件读写的步骤:
(1).首先建立通道。
(2).然后建立数据存储空间。
(3).然后开始读写数据。
(4).关闭流。
4. 输入流和输出流:
(1).输入流:程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道。
(2).输出流:程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。
代码如下:
public static byte[] readInputStream(InputStream inputStream) {
// 1.建立通道对象
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// 2.定义存储空间
byte[] buffer = new byte[1024];
// 3.开始读文件
int len = -1;
try {
if (inputStream != null) {
while ((len = inputStream.read(buffer)) != -1) {
// 将Buffer中的数据写到outputStream对象中
outputStream.write(buffer, 0, len);
}
}
// 4.关闭流
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return outputStream.toByteArray();
}


猜你喜欢
- 配置准备在build.gradle文件中添加如下依赖: compile "org.elasticsearc
- 泛型在继承方面的体现类A是类B的父类,G<A>和G<B>二者不具有子父类关系,二者是并列关系@Test &
- 一. 什么是蓝牙(Bluetooth)?1.1 BuleTooth是目前使用最广泛的无线通信协议1.2 主要针对短距
- 使用System.Threading.Thread类可以创建和控制线程。常用的构造函数有: // 摘要: // 初
- 一、简介Mutex的突出特点是可以跨应用程序域边界对资源进行独占访问,即可以用于同步不同进程中的线程,这种功能当然这是以牺牲更多的系统资源为
- 在java的开发学习中,可能需要想了解class文件对应的代码内容是什么,如果我们使用IDE工具,可以通过IDE工具的各种反编译插件去进行反
- 概述使用this()或target()可绑定被代理对象实例,在通过类实例名绑定对象时,还依然具有原来连接点匹配的功能,只不过类名是通过增强方
- 在Java中,当为一个类创建了多个构造函数时,有时想在一个构造函数中调用另一个构造函数以减少代码量。这时可以使用this关键字来实现。有关构
- 一、TCP/IP简介TCP/IP协议族是互联网使用的协议,也可以用在独立的专用网络中。TCP/IP协议族包括了IP协议、TCP协议和UDP协
- 文件输出为字符串示例代码:/** * 读取文件为字符串 * * @return */pub
- 前言表之间的关系有几种:一对多、多对一、 一对一、多对多在多对一关系中,把多的部分拆成一个一个对象其实就是一对一关系,如账户和用户是多对一关
- Unity脚本中枚举类型在inspector面板中文显示,供大家参考,具体内容如下效果:工具脚本:ChineseEnumTool.csusi
- react native打包apk文件安装好之后进入应用闪退这个是我一个前端前辈帮我弄的,自己解决的时候不行,她去官网找了相关的问题,然后发
- 安卓提供的列表选择框(Spinner)相当于web端用户注册时的选择下拉框,比如注册候选择省份城市等。如下图便是一个列表选择框下拉列表的列表
- 本文实例讲述了java执行Linux命令的方法。分享给大家供大家参考。具体实现方法如下:public class StreamGobbler
- 前言数独是一种有趣的智力游戏,但是部分高难度数独在求解过程中经常出现大量单元格有多个候选数字可以填入,不得不尝试填写某个数字然后继续推导的方
- Spring Security是一款基于Spring框架的认证和授权框架,提供了一系列控制访问和保护应用程序的功能,同时也支持基于角色和权限
- KMP算法是一种神奇的字符串匹配算法,在对 超长字符串 进行模板匹配的时候比暴力匹配法的效率会高不少。接下来我们从思路入手理解KMP算法。在
- 前言之前有做个一个自定义报表的查询,这里使用的是一个动态的sql拼接,是前端选择了什么指标就查询什么信息!(这里的指标是多个表的字段,前端随
- 我们使用Jmeter测试同学的网站时,就会出现网站无法访问,403等错误。An error occurred.Sorry, the page