java File类了解

【File 基础】
 //File.separator 多系统下面通用的分隔符 /
 
file new 出来的file  文件不一定存在 有可能不存在 


  //路径分隔符 win下面是; linux下面是 :
  //String s = File.pathSeparator;


 
  //new一个file 如果没有这个文件 也会创建一个文件
 
 File file1 = new File("D:"+File.separator+"images"+File.separator+"a.txt");
 

  //判断文件是否存在
  if(!file1.exists()) {

   //创建一个文件 有IO异常
   try {
    boolean b = file1.createNewFile();
    System.out.print(b);
   }catch(IOException e) {
    e.printStackTrace();
   }
  }



  //删除这个文件  返回boolean值
  //file1.delete();


获取文件名
f1.getName();

  //得到文件上一级路径  返回String
  String updir = file1.getParent();
  //D:\images
  //System.out.print(updir);

  //判断一个路径是否文件夹
  //System.out.print(file1.isDirectory());

  //判断是否是文件
  //System.out.print(file1.isFile());
 
 
 
  //列出文件夹中的文件名   返回String数组
  //File f2 = new File("d:\\wamp");
  //String[] list = f2.list();
  //foreach 输出
  //for(String a:list) {
   //System.out.println(a);
  //}


 
  //列出文件夹中的文件 每个文件返回一个单独的file对象 可以用他来操作
  /*
  File f3 = new File("d:\\wamp");
  File[] list = f3.listFiles();
  //foreach 输出
  for(File a:list) {
   System.out.println(a.getPath()+"---------"+a.length());
  }
  */


 
  //创建文件夹 mkdirs 如果递归创建多个目录 用 mkdirs 比如 /aa/bb  aa、bb都是未创建的
  //File f4 = new File("d:\\gwyy\\aaa");
  //f4.mkdir();
 
 
 
  重命名 要声明2个类
  File f5 = new File("d:\\k.txt");
  File f6 = new File("d:\\aaa.txt");
  f5.renameTo(f6);


  
任意一个目录 从目录中(包括子目录)查找所有后缀txt的文件
 
public static void main(String[] args) {
  File f1 = new File("d:\\wamp\\www\\obj_ecshop");
 
  fildFile(f1,".php");
 }
 
 
 //递归搜索
 public static void fildFile(File file,String extName) {
  if(file == null) return;
  if(!file.isDirectory()) return ;
  //查找当前目录下面所有的文件
  File[] fs = file.listFiles();
  if(fs == null) return ;
  //循环这个目录
  for(File f:fs) {
   //判断是不是文件夹
   if(f.isDirectory()) {
     fildFile(f,extName);
   }
   //判断是不是 结尾的 如果是的话 打印出来
   String path = f.getPath().toLowerCase();
   //如果一样 输出
   if(path.endsWith(extName)) {
    System.out.println(path);
   }
  }

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值