Java中文件的输入输出

File类

File类是java中唯一表示文件对象和目录对象的数据类型

File对象的创建方法(四种)
1.File(File dir,String child) 根据parent抽象路径名和child路径名字符串创建–个新File实例。
***2.File(String pathName) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File实例。(用得最多)
3.File(String parent, String child) 根据parent路径名字符串和child路径名字符串创建一个新File实例
4.File(URI uri) 通过将给定的file: URI转换为一个抽象路径名来创建一个 新的File实例

要注意哦,无论给定的文件虚拟路径是否存在,创建File对象,在java中一定不是null,但是文件对象创建成功,并不代表说这个文件一定在硬盘上存储

File文件流分类

按照方向来分,可以分为输入流(用于读取文件)和输出流(用于写入文件)
按照内容来分,可以分为字节流(读写二进制文件)和字符流(读写文本文件)
按照方式来分,可以分为节点流(针对文件建立)和处理流(针对其他文件流建立)

字节输入流中的类继承关系

java 视频转流提u送 java 流转file_路径名


其中,BufferedInputStream缓冲流(处理流)建立在FileInputStream文件流基础上进行含有比较多数据量的文件输入时使用。

字节输入流的主要方法

java 视频转流提u送 java 流转file_Java_02


这里要注意,close()方法在文件流结束之后一定要执行一下,不然会占用系统的资源,对系统性能造成一定影响。字符输入流中的类继承关系

java 视频转流提u送 java 流转file_路径名_03


字符输入流的主要方法

java 视频转流提u送 java 流转file_Java_04

字节输出流中的类继承关系

java 视频转流提u送 java 流转file_输出流_05


同样的,BufferedOutputStream缓冲流(处理流)建立在FileOutputStream文件流基础上进行含有比较多数据量的文件输出时使用。

字节输出流中的主要方法

java 视频转流提u送 java 流转file_java 视频转流提u送_06


字符输出流中的类继承关系

java 视频转流提u送 java 流转file_java 视频转流提u送_07


字符输出流的主要方法

java 视频转流提u送 java 流转file_路径名_08


JAVA语言内部可将字节流转换为字符流,这种转换的工作是通过InputStreamReader和OutputStreamReader完成的,构造方法如下:

InputStreamReader(InputStream in,String charname):使用指定编码规范,将字节输入流转换为字符输入流,否则抛出异常。

OutputStreamReader(OutputStream out,String charname):使用指定编码规范,将字节输出流转换为字符输出流,否则抛出异常。

Java的序列化读写

Java不仅提供了以字节和字符形式读写文件的功能,而且也提供了对任何Java数据类型进行读写的能力。
将一个数据以Java对象的形式存储到文件中或从目标文件中获取一个Java对象的操作被称为序列化操作,能够被序列化的对象称之为序列化对象

java文件流中要注意的内容

1.Java中新建或者删除一个文件,文件夹以及createNewFile(),delete(),mkdir(),mkdirs()函数的使用。
2. 判断文件的函数:exists(),isFile(),isAbsolute(),isDirectory(),canRead(),canWrite(),isHidden()函数的使用。
3. 文件属性的函数:lastModified(),length(),list(),listFiles(),renameTo(),getName(),getParent(),getPath(),getAbsolutePath(),delete()函数的使用。
4. 文件输入输出操作中的FileInputStream(),InputStreamReader()的使用和差别。