文件与流

文件与流

==这一块我当时学的不好,经供参考吧==

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也可以