day19
文件操作.
一、I/O概述。
java.io包:通过数据流、序列化和文件系统提供系统输入和输出。
(一) Input: 输入,write();
(二) Output:输出,read();
(三) Stream: 流,类比管道。
1、数据从源传输到目的地。
2、具有一定的方向性。
3、实现数据的移动。.
4、分类:顺序流、并行流。
注意事项:流操作是延迟的,源上的计算终止时候才能执行。
(四) l/0 流的分类。
1、根据数据流向不同分为:
●输入流(InputStream) :把数据从其他设备上读取到内存中的流。
●输出流(outputStream) :把数据从内存中写出到其他设备上的流。
2、根据处理数据类型的不同分为:
●字符流(character stream) :以字符为单位,读写数据的流。字符输入流,字符输出流
●字节流(byte stream) :以字节为单位,读写数据的流。字节输入流,字符输出流。
二、字节流。
字节:计算机中数据的最基本存储单位和传输单位.
1、一次读入或读出是8位二进制,更适合图像、声音等。
2、以stream结尾,常用InputStream、outputStream及其派生类来处理字节流的输入输出。
3、Java 中最基本的输入/输出操作,以字节为最基本单位顺序来写,
特点:效率低,底层读写方式适用性强。
三、字符流。
字符:计算机中字母、符号和数字的集合。
1、一次读入或读出是16位二进制。
2、以reader、writer 结尾,常用Reader、Writer 及其派生类来处理字节流的输入输出,
3、特点:处理文本类型效率更高。
总结:字符流和字节流的区别:
流中传输的基本单位发生变化。
区分方式:可以用记事本打开的,纯文本数据,即优先考虑用字符流读取,否则使用字节流读取。
四、文件概述.
1、类File.
2、包: java.io
3、文件和目录路径名的抽象表示形式。。五、文件处理。
1、构造方法.
●File(File parent, String child) :根据parent 抽象路径名和child 路径名字符串创建一个新File 实例。
●File(String pathname) :通过将给定路径名字符串转换为抽象路径名来创建一个新File 实例。
●File(String parent, String child) :根据parent 路径名字符串和child。
2、file创建
●createNewFile() :当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建个新的空文件。如果文件不存在,创建文件,返回true.如果文件存在,不创建文件,返回false.
●mkdir() :创建此抽象路径名指定的目录。如果目录不存在,创建目录,返回true.如果目录存在,不创建目录,返回false .
● mkdirs() :创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。如果目录不存在,创建目录,返回truel.如果日录存在,不创建目录,返回false.
3、删除delete() :删除此抽象路径名表示的文件或目录。.绝对路径:完整的路轻,从盘符开始,直接可以定位。相对路径:需要取其他路径名的信息进行解释。注意事项:删除目录时候,目录里面有东西,需要先删除里面的内容,才能删除目录。
六、操作方式。
1、导包
2、构造输入/输出流对象.
3、使用所需要的类的方法进行读写.
4、释放资源
七、文件字节流
InputStream:字节输入流的所有类的超类。outputStream:字节输出流的所有类的超类。他们的子类都是以Stream结尾。
练习