一.Java中如何处理文本I/0
File对象封装了文件或者路径属性,但是不包含从/向文件读/写数据的方法。为了进行I/O操作,需要使用正确的JavaI/O类创建对象。这些对象包含从/向文件中读/写数据的方法。
二.文本I/0与二进制I/0
口存储在文本文件中的数据以我们可理解的形式呈现;存储在二进制文件中的数据以二进制数的形式呈现,你也无法直接看懂二进制文件。二进制文件是用于程序读取的。例如,Java源程序以文本方式存储,可以被编辑者直接理解,但是Java字节码程序以二进制方式存储,只能被JVM理解。二进制文件的优势在于它的处理效率比文本文件高。
口尽管从技术上讲不怎么准确,但可以做这样一个比喻,文本文件是由字符序列构成的,而二进制文件是由位(bit)序列构成的。例如,十进制整数199在文本文件中是以三个字符序以列‘1’,‘9’,‘9’来存储的,而在二进制文件中它是字节类型的值C7存储的,因为十进制数199等价的十六进制数是C7。
三.二进制1/0
口在写入一个字符时,JVM会将Unicode码转化为文件指定的编码,而在读取字符时,将文件指定的编码转化为Unicode码。
口 二进制I/0不需要转化。如果使用二进制I/0向文件写入一个数值,就是将内存中的那个值复制到文件中。使用二进制I/O读取 个字节时,就会从输入流中读取一个字节的数值。
1.FileInputStream
创建一个FileInputStream对象,使用下面的构造方法:
public FilelnputStream(String filename)
public FileInputStream(File file)
如果试图使用不存在的文件创建FileInputStream对象将引发java.io.FileNotFoun