Java IO: 字节和字符数组-Java-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:189回复:0

  Java IO: 字节和字符数组

楼主#
更多 发布于:2016-05-06 22:36


Java IO: 字节和字符数组
原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)
Java中的字节和字符数组,经常被用于临时存储应用程序内部的数据,所以数组也是常见的数据来源以及数据流目的地。如果你在程序执行过程中需要频繁访问文件的内容,你可能会愿意将文件加载到数组中去。当然你可以通过索引直接访问这些数组。但是如果你有一个组件的设计初衷是从InputStream或者Reader而非数组中读取某些数据呢?
通过InputStream或者Reader读取数组
为了让你的组件能够从数组中读取数据,你需要把字节或者字符数组包装到一个ByteArrayInputStream或者CharArrayReader中。这种方式允许通过包装好的stream或者reader读取数组中的字节或者字符数据。
这是一个简单的示例:
byte[] bytes = new byte[1024];
//write data into byte array...
InputStream input = new ByteArrayInputStream(bytes);
//read first byte
int data = input.read();
while(data != -1) {
//do something with data
//read next byte
data = input.read();
}
操作一个字符数组的代码与本例类似,只需要将字符数组包装到CharArrayReader中。
通过InputStream或者Reader写入数组
同样可以将数据写入到ByteArrayOutputStream或者CharArrayWriter中。你所需要做的是创建一个ByteArrayOutputStream或者CharArrayWriter,然后写入数据,就像你操作其他类型的stream或者writer一样。当所有的数据都写入完毕,只需调用toByteArray()或者toCharArray(),即可得到写入数据的数组形式。
这是一个简单的示例:
OutputStream output = new ByteArrayOutputStream();
output.write("This text is converted to bytes".toBytes("UTF-8"));
byte[] bytes = output.toByteArray();
操作一个字符数组的代码也与本例类似,只需要将字符数组包装到CharArrayWriter中。











优质IT资源分享社区为你提供此文。
本站有大量优质Java教程视频,资料等资源,包含java基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

java教程视频
优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客