JavaIO流之File操作
IO流:
File:
File(文件/文件夹地址)构造函数:
public File(String path);
public File(String parentPath, String childPath);
public File(File parent, String childPath);
File没有无参构造。因为File表示的是系统中的文件或者文件夹。假设他有无参构造方法, 那么他通过无参创建对象的话,代表哪个文件或者文件夹呢?
例子1: "Philosophy♂.txt"
例子2:"Philosophy♂.txt"改为"./Philosophy♂.txt"
创建失败了,因为例子1和例子2是一样的。
例子3:"Philosophy/Philosophy♂.txt"
例子4:
例子5:
创建文件/文件夹的方法:成功返回true,失败返回flase
public boolean createNewFile(); //创建文件
public boolean mkdir(); // 创建一级目录
public boolean mkdirs(); // 创建多级目录
细节:
创建一个文件, 这个文件所在的文件夹 必须存在, 不存在就报错。
windows系统中 文件夹和文件的名字是不区分分大小写的。
windows系统中 文件夹的分隔符 不区分 / 还是\
文件和文件夹的名字中 是不能出现 / \的 ,所以多个分隔符一起写,就会被解析为 一个分隔符
File f = new File("d:////////////AbC//////////////////a.txt"); // "/"的个数没有奇偶之分
File f = new File("d:\\\\AbC\\a.txt"); // ""的个数必须是双数
删除功能:
java中的删除,不走回收站。相当于shift + delete
boolean delete();
删除文件: 直接删
删除文件夹: 先要把文件夹中的内容 先删除掉,然后才能删除空文件夹。
判断和获取的方法:
public boolean isDirectory(); // 判断一个File对象 是否是目录的对象。
public boolean isFile(); // 判断一个File对象 是否是文件的对象。
public boolean exists(); // 判断 File对象 所代表的目录或者文件是否存在。
public String getAbsolutePath(); // 获取一个文件或者目录的绝对路径。
public String getPath(); // 获取 你创建File对象的时候 构造方法里面的参数的。
public String getName(); // 获取文件或者文件夹的名字 含扩展名
public String[] list(); // 只能用目录来调用list方法,返回目录(仅一层)下所有的子文件或者子目录的名称(String)
public File[] listFiles(); // 只能用目录来调用listFiles方法,返回目录(仅一层)下所有的子文件或者子目录(File)
递归返回所有该目录下所有文件/文件夹的绝对地址: