File 类访问文件和目录
1.访问文件名的相关方法: String getName() 返回File对象所表示的文件名/路径名 (如果是路径 , 就返回最后一级子路径名) String getPaht() 返回File对象所对应的路径名 File getAbsoluteFile() 返回File对象的绝对路径 String getAbsolutePath() 返回File对象所对应的绝对路径名 String getParent() 返回此File对象所对应目录(最后一级子目录)的父目录名 boolean renameTo(File newName) 重命名所对应的文件或者目录 , 如果命名成功True 否false 2.文件检测的相关方法: boolean exists() 判断file对象所对应的文件或者目录是否存在 boolean canWrite() 判断file对象所对应的文件和目录是否可写 boolean canRead() 判断file对象所对应的文件和目录是否可读 boolean isFile() 判断file对象所对应的是否是文件 boolean idDirectory() 判断file对象所对应的是否是目录 boolean isAbsolute() 判断所对应的文件/目录是否是绝对路径 3.获取文件常规信息: long lastModified() 返回文件的最后修改时间 long length() 返回内容的长度 4.文件操作的相关方法: boolean createNewFile() 当file对象所对应的文件不存在时,创建一个该file对象所制定的新文件 boolean delete() 删除file对象所对应的文件或者路径 void deleteOnexit() java虚拟机退出时,删除file对象所对应的文件和目录 5.目录操作的相关方法: boolean mkdir() 创建一个file所对应的目录,调用该方法时file对象必须是一个路径 boolean mkdirs() String[] list() 列出file对象的所有子文件和路径 File[] listFiles()
public class File01 { public static void main(String[] args) throws IOException { //File.separator 代替/或者 , 是为了保障跨平台/ \ 的正确性和可移植性 String filePath = "D:" + File.separator + "demo"; File file = new File(filePath); if(!file.exists()) { file.mkdirs(); } String[] fileList = file.list();//列出file对象的所有自文件名 ,和路径名 ,返回字符串数组 for (String temp : fileList) { System.out.print(temp + " "); } System.out.println(); System.out.println("-------------------"); File[] files = file.listFiles();//列出file对象的所有子文件,和路径 for (File file2 : files) { System.out.print(file2 + " "); } System.out.println(); System.out.println(files[0].getName());//获取文件名或者路径名,如果是路径,返回最后一级 System.out.println(files[1].getName()); System.out.println(files[0].getPath());//返回file对象所对应的路径名 System.out.println(files[1].getPath()); System.out.println(files[0].getAbsolutePath()); System.out.println(files[0].getParent()); System.out.println(files[0].renameTo(new File( filePath + File.separator + "bbb.txt"))); System.out.println(files[0].length());//返回文件内容的长度 System.out.println(new Date(files[0].lastModified()));//返回文件的最后修改时间 long类型 System.out.println(files[0].isDirectory());//判断文件是否是目录 System.out.println(files[0].isAbsolute()); System.out.println(files[0].isFile());//单端是否是文件, 而不是目录 System.out.println(files[0].canRead()); System.out.println(files[0].canWrite()); System.out.println(files[0].canExecute()); } }
注意事项: 文件路径分级 / 或者 用File.separator , 保障代码跨平台的正确性; mkdir 和 mkdirs 的区别: eg: /demo/demo1/demo2 如果有几级目录的一个目录都不存在, 用mkdir的话 , 创建失败;mkdirs能创建; mkdir只能创建一级目录 mkdirs创建多级目录