IO流学习-01

File类

用来描述一个文件和文件夹的类

构造方法:

File(String pathname) 根据指定路径名创建一个File文件对象
File(File parent,String child) 根据parent抽象路径名和child路径名创建一个File文件对象

       //第一种方法构造
       File  file=new  File(“f:\\a.txt”);
       //第二种方法构造
       File  parent=new File(“f:\\”);
       File  file=new  File(parent,”a.txt”);

推荐使用:
File(File parent,String child) 来构造File对象
理由:可以对父路径进行一些预操作

注意事项:

1.有关目录分隔符的注意事项:
    在Linux操作系统下的目录分隔符是 / ,在window操作系统下的目录分隔符是 \ 。
    程序在不同操作系统下运行时需可通过静态成员separator来获取当前系统的目录分隔符。

 File  file=new File(“f:”+File.separator+”a.txt”);
 //可以提高代码复用性

注:window系统能识别 \ 和 /,都可以作为目录分隔符。
2.有关路径的问题:
绝对路径
  资源文件在硬盘上的完整路径,一般以盘符开头。
相对路径
   资源文件相对于当前程序所在的路径。
注: . 表示当前路径 .. 表示上一级路径

常用方法:

创建:

  • createNewFlie();
    在指定位置创建一个空文件,成功返回true,如果已经存在该文件就不在创建并返回false。
  • mkDir();
    在指定位置创建文件夹,成功返回true,该方法只会创建一级目录
    注:在使用以上方法创建文件或文件夹时如果上级目录不存在就抛出IOException异常。
  • mkDirs();
    在指定位置创建文件夹,成功返回true,该方法会创建多级目录
  • renameTo(File dest);
    当目标文件与源文件在同一个路径下,重命名文件或文件夹;若不在同一个路径下,removeTo的作用就是剪贴且在此情况下不能操作文件夹。
/*例子:*/
 File file=new File(“f:\\a.txt”);
 File destFile=new File(“f:\\b.txt”):
 file.renameTo(destFile);
 /*file与destFile在同一路径下:把file文件名改成destFile的文件名*/

 File dest=new File(“E:\\c.txt”);
 file.renameTo(dest);
 /*file与dest在不同路径:把file文件剪贴到dest路径下,并以dest的文件名命名*/

删除:

  • delete();
    删除一个文件或者空文件夹,如果文件不为空则不能删除。成功返回true,失败返回false。
  • deleteOnExit();
    在虚拟机终止的时候删除文件,用于删除临时文件和异常时创建的文件。

注:以上两个方法的不同之处
delete(); 方法执行后,立马删除。
deleteOnExit(); 方法执行后,不删除文件,只有当虚拟机终止时,删除文件。

判断:

  • exits(); 判断文件或问价夹是否存在。
  • isFiles(); 判断是否为一个文件。
  • isDirectory(); 判断是否为一个目录。
  • isHidden(); 判断是否有隐藏的文件。
  • isAbsolute(); 判断是否为绝对路径

注:以上方法:不存在、不是结果为false

获取:
文件相关:

  • length(); 获取文件的大小。
  • lastModified(); 获取最后一次被修改的时间,返回毫秒。

文件夹相关

  • listRoots();
    列出所有的系统的根目录(系统的所有盘符),这是一个static方法,并返回File类型数组。
  • list();
    把当前路径下面的所有子文件和子文件夹存储到一String类型的数组中返回。
  • listFiles();
    把当前路径下面的所有子文件和子文件夹存储到一个File类型的数组中返回。
  • list(FileNameFilter filter);
    返回当前路径中符合过滤条件的子文件或者子文件夹,返回String数组。
  • listFiles(FileNameFilter filter);
    同上,但返回一个File数组。
/*注:参数FileNameFilter是一个接口。
          作用:文件过滤
          用法:实现该接口,并实现其的accept方法。*/
  public  boolean  accept(File dir,String name){
   /* 参数dir是文件的目录
      参数name是文件名
      书写符合一定要求文件目录和文件名的过滤规则该方法自动调用*/
  }

每天学习一点点 未来爱你多一点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值