内容列表

  • 从InputStream或者Reader中读入数组
  • 从OutputStream或者Writer中写数组

在java中常用字节和字符数组在应用中临时存储数据。而这些数组又是通常的数据读取来源或者写入目的地。如果你需要在程序运行时需要大量读取文件里的内容,那么你也可以把一个文件加载到数组中。当然你可以通过直接指定索引来读取这些数组。但如果设计成为从InputStream或者Reader,而不是从数组中读取某些数据的话,你会用什么组件呢?

 InputStream  Reader中读取数组

用ByteArrayInputStream或者CharArrayReader封装字节或者字符数组从数组中读取数据。通过这种方式字节和字符就可以以数组的形式读出了。

样例如下:

01 byte[] bytes = new byte[1024];
02  
03  
04  
05 //把数据写入字节数组...
06  
07  
08  
09 InputStream input = new ByteArrayInputStream(bytes);
10  
11  
12  
13 //读取第一个字节
14  
15 int data = input.read();
16  
17 while(data != -1) {
18  
19 //操作数据
20  
21  
22  
23 //读下一个字节
24  
25 data = input.read();
26  
27 }

以同样的方式也可以用于读取字符数组,只要把字符数组封装在CharArrayReader上就行了。

通过 OutputStream 或者 Writer写数组

同样,也可以把数据写到ByteArrayOutputStream或者CharArrayWriter中。你只需要创建ByteArrayOutputStream或者CharArrayWriter,把数据写入,就像写其它的流一样。当所有的数据都写进去了以后,只要调用toByteArray()或者toCharArray,所有写入的数据就会以数组的形式返回。

样例如下:

1 OutputStream output = new ByteArrayOutputStream();
2  
3  
4  
5 output.write("This text is converted to bytes".toBytes("UTF-8"));
6  
7  
8  
9 byte[] bytes = output.toByteArray();

写字符数组也和此例子类似。只要把字符数组封装在CharArrayWriter上就可以了。

转载于:https://www.cnblogs.com/eer123/p/8566894.html

Java IO学习--(五)字节和字符数组相关推荐

  1. Java IO: 字节和字符数组

    转载自   Java IO: 字节和字符数组 译文链接  作者: Jakob Jenkov   译者:homesick 内容列表 从InputStream或者Reader中读入数组 从OutputSt ...

  2. java基础学习_IO流03_字符流、IO流小结、案例_day21总结

    java基础学习_IO流03_字符流.IO流小结.案例_day21总结 ================================================================ ...

  3. Java IO学习笔记总结

    Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...

  4. IO流,字节和字符的输入输出

    IO流,字节和字符的输入输出 i:input输入(读取) o:output输出(写入) 流:数据(字符,字节),一个字符=2个字节,1个字节=8个二进制位 由硬盘读取到内存中被称为输入(读取),反之则 ...

  5. java怎么把字符串转换成字符数组

    此博客用于个人编程学习记录. 文章内容来自于: java怎么把字符串转换成字符数组-Java基础-PHP中文网https://www.php.cn/java/base/435415.html java ...

  6. 在成都Java培训班学习五个多月有用吗?

    不知道"有用"的标准是什么,是能入行上岗工作,还是想只通过几个月的培训一跃成为资深开发攻城狮? 这里不得不给大家泼瓢冷水,短期培训能让你对口上岗工作就很不错了:想要成为技术大佬?大 ...

  7. Java IO(五)——字符流进阶及BufferedWriter、BufferedReader

    一.字符流和字节流的区别 拿一下上一篇文章的例子: 复制代码 复制代码 1 package com.demo.io; 2 3 import java.io.File; 4 import java.io ...

  8. java IO学习心得

    File类: 在整个io包中,唯一表示与文件有关的类就是File类.使用File类可以进行创建或者删除文件等常用的操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下: ...

  9. Java IO学习笔记(四)打印流

    1.只有输出流才有打印流:PrintWriter和PrintStream分别针对字符和字节,提供了重载的print,Println方法用于多种数据类型的输出.PrintWriter和PrintStre ...

最新文章

  1. Bellman_Ford算法
  2. 第二十篇:定义一个整形变量
  3. Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)
  4. SARscape_5.2.0和SARscape_5.2.1安装包下载
  5. 【Java线程】简单实现带界面的一对一聊天
  6. python打印楼梯和笑脸_Python实现打印楼梯形状图形
  7. python生成词云图个人技术报告_【Python成长之路】词云图制作
  8. java 执行多个查询语句_用java在单个语句中执行的多个查询
  9. ucc编译器(语义分析)
  10. 剑指offer面试题[10]-二进制中1的个数
  11. java编程剪刀石头布_Java实现的剪刀石头布游戏示例
  12. Unity制作简单动画效果
  13. hpuoj 1689: MZY寻宝 【bfs】
  14. 自定义配置文件 /etc/httpd/conf.d
  15. 运用Python完成五角星随机颜色的绘制
  16. 发了一篇小红书,阅读量破了20W...
  17. 给 App 提速:Android 性能优化总结
  18. 2016福州大学软件工程收官团队作业成绩汇总
  19. 中国不锈钢行业需求态势及发展形势展望报告(新版)2022-2027年
  20. 一文弄懂FlexE Mux Demux

热门文章

  1. mysql主键long_MySQL主键设计
  2. Codeforces Round #496 (Div. 3 ) E1. Median on Segments (Permutations Edition)(中位数计数)
  3. 【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获...
  4. iOS用workspace和cocoapods管理多个项目
  5. 自己定义ViewGroup控件(一)-----gt;流式布局进阶(一)
  6. a critical review of preetham skylight model 笔记
  7. C# 的Delegate(委托)
  8. PHP3.2.3 where or,WHERE · ThinkPHP3.2.3完全开发手册 · 看云
  9. elasticsearch 6.x (二) linux部署 kibana x-pack 安装
  10. JavaScript 严格模式(use strict)