Java IO:文件
文件是Java应用程序中数据的常见来源或者目标。因此,本文将为我们提供使用Java处理文件的简要概述。这里并不是要详细解释每种技术,而是要向我们提供足够的知识来决定文件访问方法。单独的页面将更详细地描述这些方法或者类中的每一个,包括其用法示例。
Java IO文件类
Java IO API包含以下与在Java中处理文件有关的类:
- File(文件)
- RandomAccessFil(随机存取文件)
- FileInputStream(文件输入流)
- FileReader(文件阅读器)
- FileOutputStream(文件输出流)
- FileWriter (文件写入器)
这些类将在其各自的教科书中进行更详细的说明,但以下各节将对这些类进行简要介绍。
通过Java IO读取文件
如果我们需要从一端到另一端读取文件,则可以使用FileInputStream
或者FileReader
,具体取决于我们想以二进制还是文本数据形式读取文件。这两个类使我们可以从文件的开头到结尾一次读取一个字节或者一个字符的文件,或者从文件的开头到结尾再次读取字节到" byte"或者" char"的数组中。 。我们不必读取整个文件,但是我们只能按它们存储在文件中的顺序读取字节和字符。
如果我们需要在文件中四处跳转,并且仅从此处读取文件的一部分,则可以使用RandomAccessFile
。
通过Java IO写入文件
如果需要从一端到另一端写入文件,则可以根据需要写入二进制数据还是字符来使用FileOutputStream
或者FileWriter
。我们可以从文件的开头到结尾一次写入一个字节或者字符,或者写入" byte"和" char"的数组。数据按写入顺序顺序存储在文件中。
如果我们需要跳过文件并在不同位置写入文件,例如追加到文件末尾,则可以使用RandomAccessFile
。
通过Java IO随机访问文件
正如我已经提到的,我们可以通过RandomAccessFile
类来使用Java IO随机访问文件。
随机访问并不意味着我们从真正随机的地方进行读写。这只是意味着我们可以跳过文件并以任何所需的方式同时读取或者写入文件。这就是"随机"的含义,下一个读取的字节不是由上一个读取的字节确定的。没有强制执行特定的访问顺序。我们可以任意"随机"访问文件中的字节。这样就可以覆盖现有文件的各个部分,对其进行追加,从中删除,当然也可以从需要读取文件的位置读取文件。
文件和目录信息访问
有时,我们可能需要访问有关文件的信息,而不是其内容。例如,如果我们需要知道文件的大小或者文件的文件属性。目录可能也是如此。例如,我们可能想要获取给定目录中所有文件的列表。文件和目录信息都可以通过File
类获得。