IT辅导娱乐网| 蜘蛛地图| 所有文章|
java IO流常用操作之字节流和字符流 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

java IO流常用操作之字节流和字符流

2020/9/3 五年级扛把子 

在工作中,IO流操作很常见,例如:文件读写操作,文件上传,文件下载等;而涉及到很多的概念及相关类,很容易弄混,那怎么针对不同的应用场景使用相应的流对象,就显得很重要,下面就具体来看一下。

一.主要IO流的分类

java_io_1.png

通过图可知java 中主要IO流根据处理数据类型的不同分为字符流和字节流,根据数据流向不同分为输入流和输出流。

二. 使用场景

1.考虑最原始的数据格式是什么:
场景一. 原始数据是二进制或者是纯文本,使用方式如下:
(1). 二进制格式(只要不能确定是纯文本的):InputStream,OutputStream及其子类(字节流)。

(2). 纯文本格式(含纯英文与汉字或其他编码方式):Reader,Writer及其子类(字符流)。

场景二:IO数据流通道:

(1). 输入:Reader,InputStream类型的子类。

(2). 输出:Writer,OutputStream类型的子类。

场景三:IO流转换:

(1). 字节到字符:InputStreamReader

(2). 字符到字节:OutputStreamWriter

场景四:数据来源流向:

(1). 文件:FileInputStream,FileOutputStream ; FileReader,FileWriter

(2). byte[]: ByteArrayInputStream, ByteArrayOutputStream

(3).Char[]:CharArrayReader,CharArrayWriter

(4).String:StringBufferInputStream,StringBufferOutputStream;StringReader,StringWriter

(5).网络数据流:InputStream,OutputStream;Reader,Writer

场景五:缓冲:(要注意readLine()是否有定义,有什么比read(),writer()更特殊的输入或输出方法)

要缓冲:BufferedInputStream, BufferedOutputStream; BufferedReader, BufferedWriter

场景六:格式化输出:

格式化输出:PrintStream, PrintWriter

三.主要字节流常用方法
(1).InputStream字节流

// 从输入流中读取数据的下一个字节 abstract int read() // 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b中 int read(byte[] b) // 将输入流中最多 len 个数据字节读入 byte 数组 int read(byte[] b, int off, int len) // 跳过和丢弃此输入流中数据的 n个字节 long skip(long n) // 关闭此输入流并释放与该流关联的所有系统资源 void close()

(2).OutputStream字节流

// 将 b.length 个字节从指定的 byte 数组写入此输出流 void write(byte[] b) // 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流 void write(byte[] b, int off, int len) // 将指定的字节写入此输出流 abstract void write(int b) // 关闭此输出流并释放与此流有关的所有系统资源 void close() // 刷新此输出流并强制写出所有缓冲的输出字节 void flush()

四.主要字符流常用方法
(1). Reader

// 读取单个字符 int read() // 将字符读入数组 int read(char[] cbuf) // 将字符读入数组的某一部分 abstract int read(char[] cbuf, int off, int len) // 跳过字符 long skip(long n) // 关闭该流并释放与之关联的所有资源 abstract void close()

(2). Writer

// 写入字符数组 void write(char[] cbuf) // 写入字符数组的某一部分 abstract void write(char[] cbuf, int off, int len) // 写入单个字符 void write(int c) // 写入字符串 void write(String str) // 写入字符串的某一部分 void write(String str, int off, int len) // 将指定字符添加到此 writer Writer append(char c) // 将指定字符序列添加到此 writer Writer append(CharSequence csq) // 将指定字符序列的子序列添加到此 writer.Appendable Writer append(CharSequence csq, int start, int end) // 关闭此流,但要先刷新它 abstract void close() // 刷新该流的缓冲 abstract void flush()

注:其它详细可参考:https://www.cnblogs.com/shuaiguoguo/p/8883862.html

 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:353° 发布时间:2020年9月3日

推荐:

标题:java IO流常用操作之字节流和字符流

链接: https://www.itfd.cn/post-1212.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: 什么是内部类?Static Nested Class 和 Inner Class 的不同

下一篇: springboot邮箱发送案例

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 MySQL事务隔离级别
2 VMware虚拟机安装Linux系统
3 什么是内部类?Static Nested Class 和 Inner Class 的不同
4 Linux如何安装PHP
5 为什么说重启可以解决大多数的电脑问题 真正的原因是这些it辅导
6 PHP运算符合集

评论列表

取消回复

  • 存档

    • 2020年10月(15)
    • 2020年9月(248)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • Thinkphp任务平台源码 粉丝关注投票发布系统
        • PHP二级域名分发网站源码——商业版全开源
          • 免费申请小米收款宝商家收款码 无需营业执照
            • 小甲鱼零基础入门学习Python带目录版
              • 给余额冲冲电
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回