通常在 Java 应用程序中,文件作为一种常用的数据源或者存储数据的媒介,所以本章节会对 Java 中文件的使用做一个概述。但本文不会对每一个技术细节都做进行解释,只会针对文件存取的方法提供一些必要的知识点。在之后的文章中,将会更加详细地描述这些方法或者类,包括用法示例等等。

阅读文章的过程中如果有任何疑问,欢迎添加笔者为好友,拉您进【七日书摘】微信交流群,一起交流技术,一起打造高质量的职场技术交流圈子,抱团取暖,共同进步。
七日书摘官方群.jpg

Java IO 文件类(Java IO File Classes)

Java IO 包中包含在 Java 中文件操作相关的 API 类:

  • File
  • RandomAccessFile
  • FileInputStream
  • FileReader
  • FileOutputStream
  • FileWriter

这些类将在其后续的章节中进行简要介绍。

通过 Java IO 读文件(Reading Files via Java IO)

如果需要将文件从一端读取到另一端,可以选择使用 FileInputStream 或 FileReader,具体取决于你是要将文件读取为二进制数据还是文本数据。这两个类允许您从文件的开始到文件结束一次读取一个字节或字符,或者将读取到的字节写入到字节或字符数组。从文件的开始到结束,你不必一次性读取整个文件,相反你可以按顺序读取文件钟的字节和字符。

如果你需要跳跃式地读取文件中的某一部分,可以使用RandomAccessFile。

通过 Java IO 写文件(Writing File via Java IO)

如果需要将文件从一端写入到另一端,则可以选择使用 FileOutputStream 或 FileWriter,具体取决于你需要写入的是二进制数据还是字符型数据。你可以一次写入一个字节或字符到文件中,也可以一次写入一个字节数组数据或字符数组数据。数据按照写入的顺序存储在文件中。

如果需要跳过文件并在不同位置写入该文件,例如追加到文件末尾,则可以使用 RandomAccessFile。

通过 Java IO 随机存取文件(Random Access to Files via Java IO)

正如前文已经提到的,你可以通过 RandomAccessFile 类对文件进行随机访问/存取。

随机存取并不意味着你可以在真正随机的位置进行读写操作,它只是意味着你可以跳过文件中某些部分进行同时读写操作,而不要求特定的存取顺序,这就是"随机"的意思 - 即下一个字节的读取不是由前一个字节的读取确定的。没有特定的访问顺序,你可以"随机"访问文件中的任意字节。这样可以覆盖文件的部分内容,将其追加、删除等,当然,还可以从需要读取的任何位置读取文件。

文件和目录信息的访问(File and Directory Info Access)

有时你可能需要读取文件的信息而不是文件的内容,例如,如果你需要知道文件的大小或文件的属性。对于一个目录来说也是如此,比如你需要获取指定目录下的所有文件列表。文件和目录信息都可以通过 File 类获取。

英文原文链接:http://tutorials.jenkov.com/java-io/files.html

------完------

推荐阅读:

Java NIO 简明教程

Java IO 基础 之 概述(Overview)

更多学习讨论欢迎进入七日书摘官方群: 七日书摘官方群

七日书摘官方群群聊二维码.png

参考资料:
https://blog.csdn.net/i_am_kop/article/details/78513802
http://ifeve.com/java-io-%e6%96%87%e4%bb%b6/