黑马程序员-java基础 file类

---------------------- android培训java培训 、期待与您交流! ----------------------

 

File 类

File file = new Fiel("文件路径") 创建文件对象
File file = new Fiel("文件所在目录","文件名称")  创建文件对象 ,把目录和文件名作为不同参数
File.separator  跨平台分隔符


File类常见方法:
1 创建
 boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false
 boolean mkdir(); 创建文件夹,最多只能创建2级文件夹
 boolean mkdirs(); 创建多级文件夹

2 删除
 boolean delete();删除文件。 删除失败返回false
 boolean deleteOnExit();在程序退书时删除


3 判断
 boolean canExecute(); 文件是否能执行
 boolean canRead();  文件是否能读取
 boolean canWrite(); 文件是否能修改
 int compareTo(File); 按照字母顺序比较文件。
 boolean exists(); 判断文件是否存在

 boolean isDirectory();  判断是否是目录,如果不存在也会返回false
 boolean isFile();   判断是否是文件  如果不存在也会返回false
 boolean isHidden; 判断是否是一个隐藏文件
 boolean isAbsolute  判断是否是绝对路径

4 获取

 getNmae() 返回文件名 
 getParent() 返回绝对路径中的父目录,没有明确指定父目录返回null
  getPath();  获取相对路径
 getAbsolutePath();获取绝对路径

 long lastModified(); 返回最后一次文件被修改的时间
 long length(); 返回文件长度

 String[] list(FilenameFilter filter) 按指定条件过滤文件。FilenameFilter 是一个接口,含有一个过滤文件的方法 。可以用匿名内部类方式重写该方法。
      
 String[] list(); 返回该文件目录下面的所有文件和文件夹名称(包含隐藏文件).放入一个String数组里面
 File[] listFiles()  返回file数组对象
 File[] listRoots();返回所有根目录

5 修改
 renameTo();把原文件名修改问新的文件名(包括目录),类似于剪切


递归

函数自身调用自身的表现形式或者编程手法,成为递归。

1 递归要注意使用的前提条件
2 要注意递归的次数,避免导致内存溢出。


//打开目录中的文件,如果打开的还是一个目录,则继续打开  用递归方式
public class ReaderTest {
 public static void main(String[] args) throws IOException {
  File fi = new File("e:/heima");

  show(fi);
 }

 public static void show(File file) {
  System.out.println(file);
  File[] fi = file.listFiles();
  for (int i = 0; i < fi.length; i++) {
   if (fi[i].isDirectory()) {
    show(fi[i]);
   }

   System.out.println(fi[i]);
  }
 }
}

 

 

 

 

 

 

 

---------------------- android培训java培训 、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值