File类 文件和目录路径名的抽象表示形式。 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。 测试文件的属性 public static void testFileAttr(){ File file1 = new File("d:\\\\IOTest\\test.txt"); if(file1.exists()){ System.out.println("可读?"+file1.canRead()); System.out.println("可写?"+file1.canWrite()); System.out.println("可执行?"+file1.canExecute()); System.out.println("文件 or 目录 ?"+(file1.isFile()?"文件":"目录")); long value = file1.lastModified(); // 时间日期类 Date date = new Date(value); DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm"); System.out.println("最后修改的日期:"+df.format(date)); long size = file1.length(); System.out.println("文件大小:"+size+"字节"); } } 测试文件的路径名 public static void testFileName(){ File file = new File("test.txt"); // 相对路径 if(file.exists()){ System.out.println("对象路径的参照目录:"+System.getProperty("user.dir")); System.out.println("文件名:"+file.getName()); System.out.println("路径名:"+file.getPath()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("父目录路径:"+file.getParent()); try { System.out.println("文件的规范路径名:"+file.getCanonicalPath()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void testFilePath(){ String base = System.getProperty("user.dir"); System.out.println("Java程序中,文件的基准路径:"+base); } public static void getSubName(String dirPath){ File dir = new File(dirPath); System.out.println(dir.getPath()); if(dir.isDirectory()){ //返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 String[] subs = dir.list(); for(String s : subs){ System.out.println("--"+s); } } } 测试文件列出所有目录 public static void listAllFiles(File baseDir,int level){ StringBuilder sb = new StringBuilder(); for(int i=0;i<level;i++){ sb.append("|--"); } File[] sub = baseDir.listFiles(); /* for(File file : sub){ System.out.println(file.getName()); if(file.isDirectory()){ listAllFiles(file); } } */ int length = sub == null ? 0:sub.length; for(int i=0;i<length;i++){ File file = sub[i]; if(file.isDirectory()){ System.out.println(sb.toString()+file.getName()+"<dir>"); listAllFiles(file,++level);//递归 }else{ System.out.println(sb.toString()+file.getName()); } } } 创建目录 public static void makeDir(){ if(!base.exists()){ boolean flag = base.mkdirs(); System.out.println(flag); } } 创建文件 public static void createFile(){ File subFile = new File(base,"测试.txt"); try { boolean flag = subFile.createNewFile(); System.out.println(flag); // 重命名 boolean flag1 = subFile.renameTo(new File(base,"ttt.txt")); System.out.println(flag1); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 创建文件; } // 文件删除 public static void delFile(){ File subFile = new File(base,"ttt.txt"); if(subFile.exists()){ boolean flag = subFile.delete(); System.out.println(flag); } } // 删除目录 public static void delDir(File dir){ if(dir.isDirectory()){ File[] files = dir.listFiles(); for(File file : files){ if(file.isFile()){ file.delete(); // 如果是文件,直接删除 }else{ delDir(file); } } dir.delete(); }else{ dir.delete(); } }