——它是文件和目录路径名的抽象表示
构造方法:
方法名 | 说明 |
---|---|
File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 |
File(String parent, String child) | 从父路径名字符串和子路径名字符串创建新的 File实例 |
File(File parent, String child) | 从父抽象路径名和子路径名字符串创建新的 File实例 |
方法:
创建方法:
方法名 | 说明 |
---|---|
public boolean createNewFile() | 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件 |
public boolean mkdir() | 创建由此抽象路径名命名的目录 |
public boolean mkdirs() | 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录 |
删除方法:
public boolean delete() | 删除由此抽象路径名表示的文件或目录(删目录时,目录不能有文件) |
判断方法:
public boolean isDirectory() | 测试此抽象路径名表示的File是否为目录 |
public boolean isFile() | 测试此抽象路径名表示的File是否为文件 |
public boolean exists() | 测试此抽象路径名表示的File是否存在 |
获取方法:
public String getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串 |
public String getPath() | 将此抽象路径名转换为路径名字符串 |
public String getName() | 返回由此抽象路径名表示的文件或目录的名称 |
public File[] listFiles() | 返回此抽象路径名表示的目录中的文件和目录的File对象数组 |
**绝对路径和相对路径
绝对路径:是一个完整的路径,从盘符开始
相对路径:是一个简化的路径,相对当前项目下的路径
tips:在IDEA中,如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。如果大家使用main()测试,相对路径即为当前的Project下。
IO流
IO流的使用场景
如果操作的是纯文本文件,优先使用字符流
如果操作的是图片、视频、音频等二进制文件,优先使用字节流
如果不确定文件类型,优先使用字节流.字节流是万能的流
输入步骤:
1、创建File类的对象,指明读取的数据的来源。
2、创建相应的输入流,将File类的对象作为参数,传入流的构造器中。
//对于文本文件使用字符流处理 FileReader fr = new FileReader(new File("hello.txt")); //对于非文本文件使用字节流处理 FileInputStream fis = new FileInputStream(new File("hello.mp4"));
3、创建相应的byte[] 或 char[]
//设置每次读入char数组的字符个数,如果达到末尾则返回-1 char[] ch = new char[5]; int len; while( (len = fr.read(ch)) != -1 ){ String s = new String(ch,0,len)); }
4、关闭流资源(使用try-catch-finally处理)
fr.close();{}
输出步骤:
1、创建File类的对象,指明写出的数据的位置。
如果文件不存在,会帮我们创建;存在则会把文件清空。
2、创建相应的输出流,将File类的对象作为参数,传入流的构造器中。
//对于文本文件使用字符流处理 FileWriter fw = new FileWriter("hello.txt"); //对于非文本文件使用字节流处理 FileOutputStream fos = new FileOutputStream("hello.mp4");
3、创建相应的byte[] 或 char[]
//设置每次读入char数组的字符个数,如果达到末尾则返回-1 char[] ch = new char[5]; int len; while( (len = fr.read(ch)) != -1 ){ fw.write(ch,0,len); //写出字符 }
4、关闭流资源
fw.close();{}