File类 * File更应该叫做一个路径, 文件路径或者文件夹路径 * 路径分为绝对路径和相对路径 * 绝对路径是一个固定的路径,从盘符开始 * 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下 构造方法 * File(String pathname):根据一个路径得到File对象 File file = new File("F:\\双元课堂\\day19\\video\\001_今日内容.avi"); * File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
String parent = "F:\\双dd\\day19\\video"; String child = "001.avi"; File file = new File(parent, child);
*File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象 File parent = new File("F:\\dd\\day19\\video"); String child = "001.avi"; File file = new File(parent, child);
* public boolean createNewFile(): 创建文件 如果存在这样的文件,就不创建了 * public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了 * public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
File dir1 = new File("aaa"); System.out.println(dir1.mkdir()); File dir2 = new File("bbb.txt"); //这样写是可以的,文件夹也是可以有后缀的 System.out.println(dir2.mkdir()); File dir3 = new File("ccc\\ddd"); System.out.println(dir3.mkdirs()); //创建多级目录
File file = new File("yyy.txt"); System.out.println(file.createNewFile()); //如果没有就创建,返回true File file2 = new File("zzz"); System.out.println(file2.createNewFile());
* 注意事项: * 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。 重命名和删除功能 * public boolean renameTo(File dest):把文件 重命名为指定的文件路径
File file1 = new File("ooo.txt"); File file2 = new File("D:\\xxx.txt"); System.out.println(file1.renameTo(file2));
* public boolean delete(): 删除文件或者文件夹
File file1 = new File("yyy.txt"); System.out.println(file1.delete()); File file3 = new File("ccc"); //如果删除一个文件夹,那么文件夹必须是空的 System.out.println(file3.delete()); }
重命名注意事项 * 如果路径名相同,就是改名。 * 如果路径名不同,就是改名并剪切。 删除注意事项: * Java中的删除不走回收站。 * 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹 判断功能 * public boolean isDirectory():判断是否是目录 * public boolean isFile():判断是否是文件 * public boolean exists():判断是否存在 * public boolean canRead():判断是否可读 * public boolean canWrite():判断是否可写 * public boolean isHidden():判断是否隐藏 获取功能 * public String getAbsolutePath():获取绝对路径 * public String getPath():获取路径 * public String getName():获取名称 * public long length():获取长度。字节数 * public long lastModified():获取最后一次的修改时间,毫秒值 * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组 * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
文件名称过滤器
* public String[] list(FilenameFilter filter) * public File[] listFiles(FileFilter filter)