JavaSE梳理十五:文件
2020-07-23 本文已影响0人
今天比昨天努力
【462】
1,File
路径的分隔符在不同的系统中的体现:
Windows:目录的分隔符:“\”,反斜杠。所以在书写路径的时候需要转义“\\”。
Linux:目录的分隔符:“/”,正斜杠。
File类只是对文件本身操作,如果想对文件内容操作可以使用
2、input、output
读取文件使用input
写入文件使用output
3、字符流、字节流
区别:字节流没有缓冲区,程序直接操作在文件上,譬如在如果程序没有关闭字节流操作,但是文件中依然存在输出的内容。字符流是有缓冲区,当关闭字节流时,程序会将缓冲区中的内容输出到文件中,但是如果没有关闭,那么缓冲区中的内容无法输出。
哪个更好一些?
答案是字节流。原因:文件在硬盘或传输中都是以字节的形式,包括图片。而字符只在内存中才会形成。开发中字节流使用更广泛。
字符流、字节流转换OutputStream:它的哪个字类为其实例化(OutputStream out=System.out 向屏幕输出、=New FileOutputStream(file) 向文件输出),就具备了向哪里输出的能力。体现了Java的多态好处:根据子类的不同完成的功能也不同。
InputStream:System.in是它的一个字类。
4、缓冲区
what:一段特殊的内存区域。
作用:某些情况下,如果一个程序频繁的操作一个资源(如文件或数据库),则性能会很低,此时为了提高性能,将这资源暂时读取到内存中的一块区域中,以后直接从此区域读取即可。因为读取内存的速度比较快,故而已提高程序的性能。
所以,什么字节流没有缓冲区,字符流有呢?
5、内存操作流
注意:实际开发过程中,很难一次性开发出完整的类设计,所以编写时一定先把基本功能实现,再去对实现功能的代码结构继续优化,设计出一个比较合适的类。