java中File类的构造函数及其方法

java中File类的构造函数及其方法

天津卓众教育      2022-04-09 15:21:01     20

java中File类的构造函数及其方法,  这篇文章主要介绍了java中File类的构造函数及其方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考

课程价格 请咨询

上课时段: 授课校区:

详细介绍

 

 

这篇文章主要介绍了java中File类的构造函数及其方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面由天津卓众教育java学院小编一一介绍java中File类的构造函数及其方法。


     1、IO流(Input Output)


  IO流技术主要的作用是解决设备与设备之间的数据传输问题,比如:硬盘的数据--读取到-->内存中 内存的数据--读取到-->硬盘中 键盘上的数据--读取到-->内存中



  2、IO流技术的运用场景


  导出报表、上传大头照、下载、解析xml文件.....等等 (数据保存到硬盘,该数据可以做到永久性保存。数据一般以文件的形式保存到硬盘上。sun使用一个File类来描述文件或者文件夹)



  3、File类的构造函数(方法)


  File(String pathname):指定文件或者文件夹的路径来创建一个File文件


  File(File parent, String child):根据parent抽象路径和child路径名字符串,创建一个新的File实例


  File(String parent, String child):


  目录分割符:在Windows机器上的目录分隔符是,在Linux机器上的目录分隔符是/


  注意:在Windows上面与/都可以作为目录分隔符。而且,如果写/的时候,只需要写1个正斜杠即可,而写的时候,需要写2个反斜杠。


package com.dhb.file;

import java.io.File;

import java.io.IOException;

public class Demo1 {

  public static void main(String[] args) throws IOException {

    File file = new File("F:/a.txt");//指定路径  [构造函数]

    file.createNewFile();//创建文件(空文件)  [方法]    

    File files = new File("F:","b.txt");//第一个参数是路径,第二个参数是要创建文件的文件名  [构造函数]

    files.createNewFile();//创建文件(空文件)  [方法]

  }

}

  

  4、File类的一些常用方法


  创建:


  createNewFile():在指定位置创建空文件,成功返回true,如果已存在就不再创建了返回false


  mkdir():在指定位置创建目录,这之后创建最后一级目录,如果上级目录不存在就抛出异常.


  mkdirs():在指定位置创建目录,这也会创建路径中所有不存在的父目录


  renameTo(File dest):重命名文件或文件夹。文件不同时,相当于文件的剪切,剪切的时候不能操作非空文件夹。移动/重命名成功返回true,失败返回false


  删除:


  delete() :删除一个文件或者空文件夹,如果文件夹不为空,则不能删除,成返回true,失败返回false


  deleteonExit(): 在虚拟机终止时,请求删除此抽象路径名的文件或者目录,保证文件异常时也可以删除文件


  判断:


  exists():判断指定的文件或者文件夹是否存在


  isFile():判断是否是一个文件;如果不存在,则为false


  isDirectory():判断是否是一个文件夹


  isHidden():判断指定的文件是否是隐藏文件


  isAbsolute():判断指定的文件或文件夹是否是在绝对路径下


  获取:


  getName():获取文件或文件夹名称


  getPath():返回的是绝对路径,可以是相对路径,但是目录要指定


  getAbsolutePath():获取绝对路径


  length():获取文件的大小(字节为单位)


  getParent():获取文件的父路径


  lastModified():获取文件最后一次修改的时间


  注意:


  . :一个点表示当前路径


  .. :两个点表示上一级路径


  路径问题:


  绝对路径:该文件在硬盘上的完整路径;绝对路径一般是以盘符开头的。


  相对路径:资源文件相对于当前程序所在路径。


  注意:如果程序当前所在路径与资源文件不再同一个盘下面,是没法写相对路径的



  5、实例


package com.dhb.file;


import java.io.File;

import java.io.IOException;

 

public class Demo2 {

  public static void main(String[] args) throws IOException {

    //创建

    File file=new File("F:aa");

    System.out.println("创建文件成功了吗?"+file.createNewFile());

    File dir=new File("F:aaaaaa");

    System.out.println("创建文件夹成功了吗?"+dir.mkdir());

    File dirs=new File("F:aaaaaaaaccddd");

    System.out.println("创建多级文件夹成功了吗?"+dirs.mkdirs());

     

    File destFile=new File("F:aaaw");

    System.out.println("重命名文件夹成功吗?"+dir.renameTo(destFile));

    System.out.println("重命名文件成功吗?"+file.renameTo(destFile));

     

    //删除

    File deletefile=new File("F:aaa");

    System.out.println("删除文件/空文件夹成功吗?"+deletefile.delete());

    file.deleteonExit();//jvm

    System.out.println("哈哈哈");

     

    //判断

    File fil=new File("F:a.txt");

    file.createNewFile();//创建一个文件

    System.out.println("该文件/文件夹存在吗?"+fil.exists());

    System.out.println("判断是否是一个文件:"+fil.isFile());

    System.out.println("判断是否是一个文件夹:"+fil.isDirectory());

    System.out.println("隐藏文件吗?"+fil.isHidden());

    System.out.println("是绝对路径吗?"+fil.isAbsolute());

  }

}


"获取"的例子


package com.dhb.file;

import java.io.File;

import java.text.SimpleDateFormat;

import java.util.Date;

 

public class Demo3 {

  public static void main(String[] args) {

   

    File f=new File("....a.txt");//上上级路径下的a.txt文件

    System.out.println("获取文件名:"+f.getName());//返回值:a.txt

    System.out.println("获取相对路径:"+f.getPath());//返回值:....a.txt  说明:a.txt文件在C:MyEclipse10路径下

   

    System.out.println(f.exists());//返回值:true   说明:C:MyEclipse10路径下有a.txt文件

    System.out.println("获取绝对路径:"+f.getAbsolutePath());//返回值:C:MyEclipse10MyCodeMyJavaCode....a.txt

    System.out.println("获取文件的大小(字节为单位):"+f.length());//返回值:10

    System.out.println("获取文件的父路径:"+f.getParent());//返回值:....  说明:其父路径为C:MyEclipse10

    long lm=f.lastModified();

    Date date=new Date(lm);

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");  

    System.out.println("获取文件最后一次修改的时间:"+sdf.format(date));//返回值:2018年06月25日 11:29:49

  }

}


运行结果图


  附录1


  与文件夹操作相关:


  static File[] listRoots():列出所有的根目录(Windows所有系统盘符)


  list():返回指定目录下的所有文件或文件夹名,包含隐藏文件(返回的文件/文件夹名是字符串,不可再对文件/文件夹进行操作)


  listFiles():返回指定目录下的所有文件或文件夹名,包含隐藏文件(可以再对文件/文件夹进行操作)


package com.dhb.file;

import java.io.File;

public class Demo4 {

  public static void main(String[] args) {

    File[] roots=File.listRoots();

    for (File file : roots) {

      System.out.println(file);

     

    }

    File file=new File("F:MyJavaCode");

    String[] s=file.list();

    for (String string : s) {

      System.out.println(string);//返回指定目录下的所有文件或文件夹名,包含隐藏文件(返回的文件/文件夹名是字符串,不可再对文件/文件夹进行操作)

    }

    File[] f=file.listFiles();

    for (File file2 : f) {

      System.out.println(file2.getName());//返回指定目录下的所有文件或文件夹名,包含隐藏文件(可以再对文件/文件夹进行操作)

    }

  }

}

运行结果图



  


后面两条输出语句的结果都一样


附录2


例1:


package com.dhb.file;

 

import java.io.File;

 

public class Demo5 {

  public static void main(String[] args) {

    listJava(new File("F:MyJavaCode"));

  }

  public static void listJava(File dir){

    File[] file=dir.listFiles();

    for (File file2 : file) {

      //方法1

      if(file2.getName().endsWith(".java")){

        System.out.println(file2.getName());

      }

      //方法2:正则表达式

      String fileName=file2.getName();

      if(fileName.matches(".+.java")){

        System.out.println(fileName);

      }

    }

  }

}


运行结果图






例2:


package com.dhb.file;

import java.io.File;

public class Demo6 {

  public static void listJava2(File dir){

    File[] file=dir.listFiles();

    System.out.println("以下是文件:");

    for (File file2 : file) {

      if(file2.isFile()){//判断其是否是文件

        System.out.println(file2.getName());

      }

    }

    System.out.println("以下是文件夹:");

    for (File file2 : file) {

      if(file2.isDirectory()){//判断其是否是文件夹

        System.out.println(file2.getName());

      }

    }

  }

  public static void main(String[] args) {

    listJava2(new File("F:MyJavaCode"));

  }

}


运行结果图





附录3



package com.dhb.file;

import java.io.File;

//需求:扫描电脑中所有文件夹和文件以及文件夹下的文件和文件夹,或扫描指定盘符下的所有文件和文件夹等等

public class Demo7 {

  public static void listDirtory(String dir){

    File f=new File(dir);

    File[] f2=f.listFiles();//得到文件和文件夹

    if(f2==null){

      return;

    }else{

      for (int i = 0; i < f2.length; i++) {

        if(f2[i].isDirectory()){//判断是否是 文件夹

          System.out.println(f2[i].getAbsolutePath()+" "is director file"");//返回值是“文件夹”

          listDirtory(f2[i].getAbsolutePath());//继续扫描文件夹里面的文件和文件夹

        }else{

          System.out.println(f2[i].getAbsolutePath());//返回值是“文件”

        }

      }

    }

  }

  public static void main(String[] args) {

   

    //扫描当前磁盘

    listDirtory(File.separator);

    //扫描指定磁盘

    //listDirtory("F:");

  }

}


      运行结果图(文件和文件夹太多,下面只显示部分)路径的最后一级是文件/文件夹




附录4


package com.dhb.file;

 

import java.io.File;

 

//需求:删除磁盘中指定的文件夹里面的所有文件和文件夹

public class Demo12 {

  public static void delDir(File dir){

    File[] files=dir.listFiles();

    if(files != null){            

      for (int i = 0; i < files.length; i++) {

        if(files[i].isFile()){

          boolean b = files[i].delete();

          if(b){

            System.out.println(files[i].getAbsolutePath()+"'文件删除成功'");

          }

        }else{

          delDir(files[i]);

        }

      }

    }//留下根目录,根目录里面的文件和文件夹全删了

    for (int j = 0; j < files.length; j++) {

      if (files[j].isDirectory()) {

        boolean b2 = files[j].delete();

        //dir.delete();//删除根目录

        if (b2) {

          System.out.println(files[j].getAbsolutePath()+"'目录删除成功'");

        }

      }

    }

    if ("F:day".equals(dir.getAbsolutePath())) {

      boolean b3 = dir.delete();//删除根目录

      if (b3) {

        System.out.println(dir.getAbsolutePath()+"'根目录删除成功'");

      }

    }

  }

  public static void main(String[] args) {

    File f=new File("F:day");

    delDir(f);

  }

}


删除前



删除后(程序运行后)








以上就是天津卓众教育java学院小编介绍的“java中File类的构造函数及其方法”的内容,希望对大家的学习有所帮助,更多精彩内容请关注天津卓众教育java学院官网。


培训啦提醒您:交易时请核实对方资质,对于过大宣传或承诺需谨慎!任何要求预付定金、汇款等方式均存在风险,谨防上当。