文件与流
==这一块我当时学的不好,经供参考吧==
Java中文件的管理,主要针对文件或是目录路径名的管理
- 文件的属性信息
- 文件的检查
- 文件的删除等
- 不包括文件的访问
File类
通过将给定路径名字符串转换成抽象路径名来创建一个File实例
1 | File 变量名=new File(String pathname); |
2 | //用一个自己设定的路径名(可以是存在的,也可以是不存在的) |
3 | //创建一个File实例.如果pathname是不存在的.此时不会创建文件目录.因为File类里封装的是一个不是实际存在的文件的信息。 |
4 | File f1=new File("C:\\test"); |
通过将给定File的uri转换成抽象路径名来创建一个新File实例
1 | File 变量名=new File(URI uri); |
根据父路径名(字符串)和子路径名(字符串)创建一个File实例
1 | File 变量名=new File(String Parent, String child); |
2 | //例如 |
3 | String parent="d:\\test"; |
4 | String child="abc.txt"; |
5 | File f2=new File(parent,child); |
根据parent抽象路径名和child路径名(字符串)创建一个File实例
1 | File f1=new File("C:\\test"); |
2 | String child="abc.txt"; |
3 | File f3=new File(f1,child) |
File类常用方法
Files类常用方法
file.Path接口的常用方法
流
概念:程序中数据的流通。在Java中,对于数据的输入(输出)是以流的方式进行的
- 按流的方向:可以分为输入流
- 按单位的不同,可以分为字节流和字符流
- 按功能的不同,可以分为节点流和处理流
命名不同 | 字节流 | 字符流 |
---|---|---|
输入流 | InputStream | Reader |
输出流 | OutStream | Writer |
字节输入流和输出流的常用的方法
字符输入流和输出流的常用的方法
节点流
概念:从一个特定的数据源(节点)读写数据(如:文件、内存)的类叫做节点流
节点流常用的方法
使用writite方法输出数据时,有些数据并不会马上输出到我们指定的目的,通常会在内存中有个暂存区,有些输出的数据会暂时存放在这里,如果我们想要立刻把数据输出到目的地不要放在暂存区中时,可以调用”flush”这个方法来对暂存区做清楚的操作。
文件的访问
访问文件中的数据,通过以下几个节点类
- FileInputStream
- FileOutStream
- FileReader
- FileWriter
处理流
概念:只用字节或是字符为单位来对数据做输入输出是不够的,有时候我们需要一-行一行的读数据,有时我们需要读取特定格式的数据,因此Java提供了这样的机制,能把数据流作连接(chain),让原本没有特殊访问方法的流,通过连接到特殊的流后,变成可以用特定的方法来访问数据。
缓冲流
缓冲流对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法Java提供了四种缓冲流,其构造方法如下。
1 | BufferedInputStream(InputStream in)//默认创建一个带有32字节缓冲区的缓冲输入流 |
2 | BufferedInputStream(InputStream in,int size)//多了个限制:为size大小的缓冲区 |
3 | //input换成output也可以,Stream换成Reader也可以 |