Java核心技术(初阶)知识点复习——[11]Java文件处理
Posted li7anstrugglepath
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java核心技术(初阶)知识点复习——[11]Java文件处理相关的知识,希望对你有一定的参考价值。
1.文件系统和Java文件基本操作
[1]文件系统是由OS(操作系统)管理的,由文件夹和文件递归而成,文件目录的分割Windows是用隔开,每个文件包括内容和基本属性;
文件系统和Java进程是平行运行的两套系统;
可用用Java来访问文件的基本属性,包括名称、大小、拓展名、修改时间等;
[2]java.io.File类
是文件和目录的重要类,不涉及文件的具体内容,只涉及文件属性;
常用方法包括:createNewFile(), delete(), getName(), getParent(), getPath(), length(), listFiles(), isFile(), isDirectory(), makedir(), makedirs()等;
2.Java io包中访问文件内部具体内容的类和方法
Java读&写文件,只能以(数据)流的形式进行;因为如上文1.[1]中提到,文件系统和Java程序是两套平行运行的系统,由于文件可能很大,Java可能不能一口气将文件都加载进内存(栈?先暂时搁置这个问题),只能以“流”的形式分批处理;
[1]节点类:直接对文件进行读写
InputStream;OutputStream;
子类FileInputStream;FileOutputStream;
Reader;Writer;
子类FileReader;FileWriter;
[2]包装类:
1)转化类:字节/字符/数据类型的转化类;因为文件都是以字节进行保存的,所以Java程序(字符)将变量(字符/数据类型)保存到文件需要转化;
InputStramReader; OutputStreamWriter;
2)装饰类:装饰节点类
DataInputStream, DataOutputStream:封装数据流
BufferedInputStream, BufferedOutputStream:缓存字节流,当数据需要存到硬盘上时,内存的读写速度较快,而硬盘的读写速度太慢,所以通常CPU会在内存里开辟一个缓存区,把数据先快速写入到内存缓存区中,然后内存缓存区再转移到硬盘中;CPU不用等待在较慢的操作上,而是去做其他的计算,这样可以提高CPU的使用效率;
BufferedReader, BufferedWriter:缓存字符流
3.文本文件的读写
[1]文件类型:
一般文本文件:.txt;
一般二进制文件:.dat;
带特殊格式的文本文件:.xml;
带特殊格式的二进制文件:.doc, .ppt
[2]写文件
创建文件→写入数据→关闭文件
FileOutputStream类→OutputStreamWriter类、BufferedWriter类→try-resource语句、close最外层语句:BufferedWriter(OutputStreamWriter(FileOutPutStream)));
注意BufferedWriter中的newLine();方法的使用;
[3]写文件
打开文件→逐行读入数据→关闭文件
FileInputStream类→InputStreamWriter类、BufferedReader类→try-resource语句、close最外层语句:BufferedReader(InputStreamWriter(FileInPutStream));
注意BufferedReader中的readLine();方法的使用;
4.二进制文件读写
[1]二进制文件:
采用字节编码的所有非字符编码文件都可以称为二进制文件;
二进制文件等无法打开/阅读;
[2]写文件
创建文件→写入数据→关闭文件
FileOutputStream类→BufferedOutputStream类、DataOutputStream类→try-resource语句、close最外层语句:DataOutputStreamWriter(BufferedOutputStream(FileOutputStream));
注意DataOutputStream类中flush();write[各种数据类型]();等方法的使用;
[3]读文件
打开文件→逐行读入数据→关闭文件
FileInputStream类→BufferedIntputStream类、DataInputStream类→try-resource语句、close最外层语句:DataInputStreamWriter(BufferedInputStream(FileInputStream));
注意DataInputStream类中read[各种数据类型]();等方法的使用;
以上是关于Java核心技术(初阶)知识点复习——[11]Java文件处理的主要内容,如果未能解决你的问题,请参考以下文章
码住速学!用了三年时间终于整理分享出java面试核心知识点原理篇技术文档~