您的位置:首页 > 编程语言 > Java开发

Java IO(章节摘要)

2014-07-27 23:05 176 查看
1,Java IO中各类间的继承关系(如图所示)。



2,在Java中使用File类表示文件本身,可以直接使用此类完成文件的各种操作,如创建,删除等。

3,RandomAccessFile类可以从指定的位置开始读取信息,但是要求文件中各个数据的保存长度必须固定。

4,输入/输出流主要分为字节流(OutputStream,InputStream)和字符流(Writer,Reader)两种,但是在传输中以字节流操作较多,字符流在操作时使用到缓冲区,而字节流没有使用到缓

冲区。

5,字节或字符流都是以抽象类的形式定义的,根据其使用的子类不同,输入或输出的位置也不同。

6,在IO包中可以使用OutputStreamWriter和InputStreamReader完成字符流与字节流之间的转换操作。

7,使用ByteArrayInputStream和ByteArrayOutputStream类可以对内存进行输入/输出操作。

8,在线程之间进行输入/输出通信,主要使用PipedOutputStream和PipedInputStream类。

9,在IO中输出时最好使用打印流(PrintStream,PrintWriter),这样可以方便输出各种类型的数据。

10,System类提供了3个支持IO操作的常量即out,err,in。

a,System.out:对应显示器的标准输出。

b,System.err:对应错误打印,一般此信息不希望被用户看到。

c,System.in:对应标准的键盘输入。

在程序操作中,根据setOut()方法可以修改System.out的输出位置,可以使用setErr()方法修改System.err的输出位置,也可以使用setIn()方法修改System.in的输入位置。

11,BufferedReader可以直接从缓冲区中读取数据。

12,使用Scanner可以直接从缓冲区中读取数据。

13,数据操作流提供了与平台无关的数据操作,主要使用DataOutputStream和DataInputStream类。

14,使用合并流(SequenceInputStream)可以将两个文件的内容进行合并。

15,如果数据量过大,则可以使用压缩流压缩数据,在Java中支持ZIP,JAR和GZIP 3种压缩格式。

16,使用回退流可以将不需要的数据回退到数据缓冲区中以待重新读取。

17,造成字符乱码的根本原因就在于程序编码与本地编码的不统一。

18,对象序列化可以将内存中的对象转换成为二进制数据,但对象所在的类必须实现Serializable接口,一个类中的属性如果使用transient关键字声明,则此属性的内容将不会被序列化。

19,对象的输入/输出主要使用ObjectInputStream和ObjectOutputStream两个类完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: