Android中文件读写(输入流和输出流)操作小结

 更新时间:2015年06月06日 10:37:58   投稿:junjie  
这篇文章主要介绍了Android中文件读写(输入流和输出流)操作小结,本文总结了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();
  }

相关文章

  • Android Studio 2022.1.1创建项目的Gradle配置问题

    Android Studio 2022.1.1创建项目的Gradle配置问题

    这篇文章主要介绍了Android Studio 2022.1.1创建项目的Gradle配置问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Android手机卫士之确认密码对话框

    Android手机卫士之确认密码对话框

    这篇文章主要为大家详细介绍了Android手机卫士之确认密码对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android本地存储方法浅析介绍

    Android本地存储方法浅析介绍

    这篇文章主要介绍了Android本地存储案例,方法简单可以实现存储并达到节省内存的效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • 超实用的android网络工具类

    超实用的android网络工具类

    这篇文章主要为大家详细介绍了超实用的android网络工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android编程绘图操作之弧形绘制方法示例

    Android编程绘图操作之弧形绘制方法示例

    这篇文章主要介绍了Android编程绘图操作之弧形绘制方法,结合实例形式分析了Android图形绘制的相关组件调用、属性设置与功能实现技巧,需要的朋友可以参考下
    2017-08-08
  • Android App开发中使用RecyclerView替代ListView的实践

    Android App开发中使用RecyclerView替代ListView的实践

    RecyclerView是Android L即5.0版本以来新加入的一个组件,主要用来实现item的瀑布式排列,因而被人们广泛认为用来替代ListView,这里我们就来看一下Android App开发中使用RecyclerView替代ListView的实践:
    2016-06-06
  • Android ViewPager实现每隔两秒自动切换图片功能

    Android ViewPager实现每隔两秒自动切换图片功能

    图片来回自动切换,设计非常人性化,那么图片自动切换功能基于代码如何实现的呢?下面小编给大家带来了Android ViewPager实现每隔两秒自动切换图片功能,感兴趣的朋友一起看看吧
    2021-10-10
  • Android之有效防止按钮多次重复点击的方法(必看篇)

    Android之有效防止按钮多次重复点击的方法(必看篇)

    下面小编就为大家带来一篇Android之有效防止按钮多次重复点击的方法(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android仿QQ登陆窗口实现原理

    Android仿QQ登陆窗口实现原理

    今天根据腾讯qq,我们做一个练习,来学习如何制作一个漂亮的布局仿QQ登陆,还是一个启动画面,之后进入登录页面,导航页面就不介绍了,大家可以参考微信的导航页面
    2013-01-01
  • Android开发技巧之我的菜单我做主(自定义菜单)

    Android开发技巧之我的菜单我做主(自定义菜单)

    Android SDK本身提供了一种默认创建菜单的机制,虽然功能上还不错,但是界面的美观度不是很理想,本结介绍一种实现方法:就是通过onKeyDown事件方法和PopupWindow实现自定义的菜单,感兴趣的朋友可以了解下
    2013-01-01

最新评论