Java IO学习--(五)字节和字符数组
内容列表
- 从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学习--(五)字节和字符数组相关推荐
- Java IO: 字节和字符数组
转载自 Java IO: 字节和字符数组 译文链接 作者: Jakob Jenkov 译者:homesick 内容列表 从InputStream或者Reader中读入数组 从OutputSt ...
- java基础学习_IO流03_字符流、IO流小结、案例_day21总结
java基础学习_IO流03_字符流.IO流小结.案例_day21总结 ================================================================ ...
- Java IO学习笔记总结
Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...
- IO流,字节和字符的输入输出
IO流,字节和字符的输入输出 i:input输入(读取) o:output输出(写入) 流:数据(字符,字节),一个字符=2个字节,1个字节=8个二进制位 由硬盘读取到内存中被称为输入(读取),反之则 ...
- java怎么把字符串转换成字符数组
此博客用于个人编程学习记录. 文章内容来自于: java怎么把字符串转换成字符数组-Java基础-PHP中文网https://www.php.cn/java/base/435415.html java ...
- 在成都Java培训班学习五个多月有用吗?
不知道"有用"的标准是什么,是能入行上岗工作,还是想只通过几个月的培训一跃成为资深开发攻城狮? 这里不得不给大家泼瓢冷水,短期培训能让你对口上岗工作就很不错了:想要成为技术大佬?大 ...
- Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
一.字符流和字节流的区别 拿一下上一篇文章的例子: 复制代码 复制代码 1 package com.demo.io; 2 3 import java.io.File; 4 import java.io ...
- java IO学习心得
File类: 在整个io包中,唯一表示与文件有关的类就是File类.使用File类可以进行创建或者删除文件等常用的操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下: ...
- Java IO学习笔记(四)打印流
1.只有输出流才有打印流:PrintWriter和PrintStream分别针对字符和字节,提供了重载的print,Println方法用于多种数据类型的输出.PrintWriter和PrintStre ...
最新文章
- Bellman_Ford算法
- 第二十篇:定义一个整形变量
- Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)
- SARscape_5.2.0和SARscape_5.2.1安装包下载
- 【Java线程】简单实现带界面的一对一聊天
- python打印楼梯和笑脸_Python实现打印楼梯形状图形
- python生成词云图个人技术报告_【Python成长之路】词云图制作
- java 执行多个查询语句_用java在单个语句中执行的多个查询
- ucc编译器(语义分析)
- 剑指offer面试题[10]-二进制中1的个数
- java编程剪刀石头布_Java实现的剪刀石头布游戏示例
- Unity制作简单动画效果
- hpuoj 1689: MZY寻宝 【bfs】
- 自定义配置文件 /etc/httpd/conf.d
- 运用Python完成五角星随机颜色的绘制
- 发了一篇小红书,阅读量破了20W...
- 给 App 提速:Android 性能优化总结
- 2016福州大学软件工程收官团队作业成绩汇总
- 中国不锈钢行业需求态势及发展形势展望报告(新版)2022-2027年
- 一文弄懂FlexE Mux Demux
热门文章
- mysql主键long_MySQL主键设计
- Codeforces Round #496 (Div. 3 ) E1. Median on Segments (Permutations Edition)(中位数计数)
- 【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获...
- iOS用workspace和cocoapods管理多个项目
- 自己定义ViewGroup控件(一)-----gt;流式布局进阶(一)
- a critical review of preetham skylight model 笔记
- C# 的Delegate(委托)
- PHP3.2.3 where or,WHERE · ThinkPHP3.2.3完全开发手册 · 看云
- elasticsearch 6.x (二) linux部署 kibana x-pack 安装
- JavaScript 严格模式(use strict)