文本IO 二进制IO
Posted ontway
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本IO 二进制IO相关的知识,希望对你有一定的参考价值。
一、文本IO
- 使用PrintWriter写入文件后,必须调用close(),否则数据不能正确保存在文件中。
- Scanner的next()读取一个由分隔符分隔的字符串,nextLine()读取以换行符结束的行。
- 标记读取不会读取分隔符,所以nextLine()会把所有标记也算作一个标记进行读取。
- useDelimiter(String s)可以改变分隔符,默认是空格。
- 从URL读取数据,创建URL对象,调用url.openStream(),就可以用Scanner读取url.openStream()中的数据了。
二、二进制IO
1. 文本文件是由字符序列构成的,二进制文件有bit序列构成,不涉及编码、解码,效率高。在计算机中,本质上,所有的文件都是二进制文件。文本IO建立在二进制IO上,提供了一层抽象,用于字符层次编码,解码。
2.1)FileInputStream、FileOutputStream为基本输入输出,只能用来读取字节,即最基本的读取二进制数据。
2)DataInputStream、DataOutputStream读取写入字节,将他们转换为合适的基本类型或字符串。
3)java中字符用统一码表示,一个统一码由2个字节构成。
4)ObjectInputStream、ObjectOutputStream读取写入对象,包含了DataInputStream、DataOutputStream的所有功能。对象需要实现Serializable接口才可以被写入,即可序列化的,对象中存在不能被序列化的对象时,不可以被序列化,需要在不能被序列化的对象成员前加transient关键字,静态变量不会被序列化。
3.RandomAccessFile,随机访问文件。
以上是关于文本IO 二进制IO的主要内容,如果未能解决你的问题,请参考以下文章