美文网首页
2018-04-23

2018-04-23

作者: 毛子果 | 来源:发表于2018-04-23 09:14 被阅读0次

File类的基本使用详解



目录

1、构造函数
2、基本方法
--2.1、创建文件
--2.2、删除文件
--2.3、获取该文件或目录的信息
--2.4、创建多级目录下的文件



java.io.File类表示的为文件和目录路径名的抽象表示形式,我们经常会用到该类这里我只介绍该类的基本用法。

1、构造函数

//通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
public File(String pathname)

//根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
public File(String parent,String child)

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

//通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例
public File(URI uri)

2、基本方法

2.1、创建文件

        File file=new File("test.txt");
        //1.首先判断该文件是否存在
        if(file.exists()){
            System.out.println("该文件已经存在!");
        }else{
            try {
                //2.创建文件
                if(file.createNewFile()){
                    System.out.println("文件创建成功!");
                }else{
                    System.out.println("文件创建失败!");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

在这里介绍另外两个有关创建文件的方法:

//在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称
public static File createTempFile(Stringprefix,String suffix)
  
//在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称
public static File createTempFile(Stringprefix,String suffix,File directory)

2.2、删除文件

File file=new File("test.txt");
//1.首先判断该文件是否存在
if(file.exists()){
    //2.删除文件
    if(file.delete()){  
        System.out.println("文件删除成功!");
    }else{
        System.out.println("文件删除失败!");
    }
}else{
    System.out.println("文件不存在!");
}

2.3、获取该文件或目录的信息

        File file=new File("..\\test.txt");
        //1.首先判断该文件是否存在
        if(file.exists()){
            //2.返回该文件的绝对路径
            System.out.println("该文件的绝对路径为:"+file.getAbsolutePath());
            try {
                System.out.println("该文件的规范路径为:"+file.getCanonicalPath());
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("该文件的名称为:"+file.getName());
            System.out.println("该文件的父目录为:"+file.getParent());
            //3.判断file是文件还是目录
            if(file.isFile()){
                System.out.println("file是一个文件!");
            }else if(file.isDirectory()){
                System.out.println("file是目录!");
            }
            else if(file.isHidden()){
                System.out.println("file是一个隐藏文件!");
            }else{
                System.out.println("file既不是目录也不是文件!");
            }
        }else{
            System.out.println("文件不存在!");
        }

2.4、创建多级目录下的文件

        /**
         * File.separator:
         * 与系统有关的默认名称分隔符。
         * 此字段被初始化为包含系统属性 file.separator 值的第一个字符。
         * 在 UNIX 系统上,此字段的值为 '/';
         * 在 Microsoft Windows 系统上,它为 '\\'。
         */
        File file=new File("a"+File.separator+"b"+File.separator+"c"+File.separator+"d.txt");
        //先得到该文件的父目录
        File parent=file.getParentFile();
        //如果父目录不存在,则必须先将父目录创建出来
        if(!parent.exists())
        {
            System.out.println("该文件的父目录不存在,正在创建中!");
            //创建该文件的所有父目录
            if(parent.mkdirs()){
                System.out.println("父目录创建完毕!");
                if(!file.exists()){
                    try {
                        //创建该文件
                        if(file.createNewFile()){
                            System.out.println("文件创建完毕!");
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }

这里在介绍几个常用的方法:

//创建此抽象路径名指定的目录。
public boolean mkdir();

//重新命名此抽象路径名表示的文件。
public boolean renameTo(File dest);

以上基本上就是我们经常在Java中使用到File类的方法。如果还需要其他的方法请自行查阅Java API。

相关文章

  • 读书日感想

    2018-04-23 我对...

  • 2018-04-23

    2018-04-23 戴师傅简书作者 2018-04-23 22:20 打开App (稻盛哲学学习会)打卡第45天...

  • 清明小图

    难得画得这么有意思 2018-04-23

  • 【周检视】把生活花朵过成生命花园的秘密

    AprilCamellia 2018-04-23✨周检视鲁榕#2018年4月第2周(4.15~4.22)❤把生活花...

  • 17-2018周检视

    2018年第17周 起始时间:2018-04-23 结束时间:2018-04-29 一、目标完成情况...

  • 2018-04-23

    ZFQ_dacf 2018-04-23· 字数 506· 阅读 53· 日记本 姓名:周富强 公司:厦门大科机械有...

  • 2018-04-24

    2018-04-23 多云,心情好还好 人生目标:事业/美丽/健康/提升/家人/人际 /情商/理财/ 当日目标:美...

  • 2018-04-23

    为自己的高挑而自卑 王施妍 2018-04-23 03:12 · 字数 330 · 阅读 0 · 日记本 图片发自...

  • 英语

    2018-04-23 星期一 阴 晚上,全家正在吃晚饭,接到了wendy老师的电话,原来是老师来...

  • 3. Hive安装

    qdice007@gmail.com 2018-04-23 15:00 写在前面的废话 我们要基于之前搭建的Ha...

网友评论

      本文标题:2018-04-23

      本文链接:https://www.haomeiwen.com/subject/vwkklftx.html