Java中File的常用操作及方法

来源:互联网 发布:淘宝短网址 编辑:程序博客网 时间:2024/06/01 19:07

转自 http://blog.csdn.net/caidie_huang/article/details/52728401

1.获取File路径和检测状态:
1)操作File路径和名称:
File getAbsoluteFile() :获取绝对路径
String getAbsolutePath():获取绝对路径
String getPath() :获取文件路径
String getName() :获取文件名称
File getParentFile():获取上级目录文件
String getParent() :获取上级目录路径

2)检测File状态的方法:
boolean canExecute() :判断是否是可执行文件
boolean canRead() :判断该文件是否可读
boolean canWrite():判断该文件是否可写
boolean isHidden():判断该文件是否是隐藏文件
long lastModified():判断该文件的最后修改时间
long length():获取该文件的长度大小(单位字节)

2.File类中方法-
1)文件操作:
boolean isFile() :是否是文件
boolean createNewFile() :创建新的文件
static File createTempFile(String prefix, String suffix) :创建临时文件
boolean delete() :删除文件
void deleteOnExit() :在JVM停止时删除文件
boolean exists():判断文件是否存在
boolean renameTo(File dest) :重新修改名称

2)目录操作
boolean isDirectory() :判断是否是目录
boolean mkdir() :创建当前目录
boolean mkdirs() :创建当前目录和上级目录
String[] list() :列出所有的文件名
File[] listFiles() :列出所有文件对象
static File[] listRoots() :列出系统盘符

需求:
列出指定目录中所有的文件,包括子文件夹中的所有文件
关键方法:File[] listFiles()

public class ListFilesDemo {      //需求:列出指定目录中所有的文件,包括子文件夹中的所有文件(使用递归算法(recursion)).      public static void main(String[] args) {          File dir = new File("E:/Program Files");          listAllFile(dir);      }      private static void listAllFile(File f) {          //第一级子文件          File[] fs = f.listFiles();          for (File file : fs) {              //打印目录和文件              System.out.println(file);              //如果子文件是目录,则继续递归              if(file.isDirectory()){                  listAllFile(file);              }          }      }  }  

需求:过滤掉不是.avi结尾的文件
关键类:文件过滤器(FilenameFilter)

public class FilenameFilterDemo {      public static void main(String[] args) {          File dir = new File("E:/Program Files/视频");          File[] fs = dir.listFiles(new FilenameFilter() {              @Override              public boolean accept(File dir, String name) {                  //过滤条件:是文件(可过滤掉以.avi结尾的文件夹)、文件以.avi结尾(即满足条件则不过滤)                  return new File(dir,name).isFile() && name.endsWith(".avi");              }          });          for (File file : fs) {              System.out.println(file);          }      }  }  
原创粉丝点击