pushbackInputStream回退输入流
来源:互联网 发布:什么是网络计划 编辑:程序博客网 时间:2024/06/10 00:18
1. Java.io.PushbackInputStream拥有一个PushBack缓冲区,从PushbackInputStream读出数据后,只要PushBack缓冲区没有满,就可以使用unread()将数据推回流的前端。
2. 假设一个文本文件中同时存储有ASCII码范围的英文字符与BIG5范围的中文字符。想要判断那些位置是ASCII而哪些位置是BIG5中文字符,BIG5中文字符使用两个字节来表示一个中文字,而ASCII只使用一个字节来表示英文字符。
3. Big5中文为了与ASCII兼容,低字节范围内0xA4-0xF9,而高字节为0x40--0x7E以及0xA1--0xFE。存储时低字节先存,再存高字节,所以读取时只要先读到字节是在0xA4--0xF9,就表示它可能是一个中文字符的前半数据。
4. 下面的范例说明PushbackInputStream的功能,一次从文件中读取两个字节,并检查两个字节合并后的整数值是否在0xA440--0xFFFF之间,这样可以简单地判断其两个字节合并后是否为BIG码。如果是BIG5码则使用这两个字节产生String实例以显示汉字字符;如果不在这个范围之内,则可能是个ASCII范围内的字符,您可以显示第一个字节的字符表示,并将第二个字节推回流,以待下一次可以重新读取。
不过这段代码好象有问题:当test.txt里面内容是:a这y是c 时,运行结果如下:
ASCII: a
BIG5: 这
ASCII: y
BIG5: 是
ASCII: c
BIG5: 乔
注意:回退输入流的主要精髓是’回滚‘功能,在不破坏输入流的前提下试探性读取流内容!
1 0
- pushbackInputStream回退输入流
- PushbackInputStream(推回输入流) 示例
- java PushbackInputStream/Reader推回输入流
- pushbackInputstream
- pushbackInputStream
- PushbackInputStream
- PushbackInputStream
- PushbackInputStream
- PushbackInputStream
- PushBackInputStream
- 002_014 Python 回退输入文件到起点
- mysql输入密码闪退
- mysql 输入密码秒退
- MySQL 输入密码闪退
- IO:推回输出流PushbackInputStream和PushbackReader的用法
- Java IO系列4 字节流之PushbackInputStream
- 小议PushbackInputStream
- PushbackInputStream类
- 1101. Quick Sort (25)
- Android Studio运行遇到 Error while Launching activity问题
- 如何在asp.net页面使用css和js
- JDBC编程模型
- 《Testing with Xcode》第三章——Writing Test Classes and Methods
- pushbackInputStream回退输入流
- 欢迎使用CSDN-markdown编辑器
- 玩转Android之MVVM开发模式实战,炫酷的DataBinding!
- 浅析隐藏HTML元素的几种方法
- Palindrome Partitioning
- img的title和alt属性
- Quartz 关于CronTrigger 的 深入
- 树莓派3B as a 无线路由器
- 17-maven插件1