温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java IO中File类是什么

发布时间:2022-01-20 09:23:09 来源:亿速云 阅读:174 作者:小新 栏目:开发技术

本文将为大家详细介绍“Java IO中File类是什么”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“Java IO中File类是什么”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

    File 类:文件和目录路径名的抽象表示。

    注意:File 类只能操作文件的属性,文件的内容是不能操作的。

    1、File 类的字段

    Java IO中File类是什么

    我们知道,各个平台之间的路径分隔符是不一样的。

    ①、对于UNIX平台,绝对路径名的前缀始终为"/" 。 相对路径名没有前缀。 表示根目录的抽象路径名具有前缀"/"和空名称序列。

    ②、对于Microsoft Windows平台,包含驱动器说明符的路径名的前缀由后面跟着":"的驱动器号组成,如果路径名是绝对的,则可能后跟"\\" 。 UNC路径名的前缀为"\\\\" ; 主机名和共享名称是名称序列中的前两个名称没有有指定驱动器的相对路径名没有前缀。

    那么为了屏蔽各个平台之间的分隔符差异,我们在构造 File 类的时候(如何构造,请看下面第二点),就可以使用上述 Java 为我们提供的字段。

    那么我们可以看出:

    File.pathSeparator指的是分隔连续多个路径字符串的分隔符

    File.separator是用来分隔同一个路径字符串中的目录的

    2、File 类的构造方法

    Java IO中File类是什么

    如何使用上述构造方法,请看如下例子: 

    //不使用 Java 提供的分隔符字段,注意:这样写只能在 Windows 平台有效
            File f1 = new File("D:\\IO\\a.txt");
            //使用 Java 提供的分隔符
            File f2 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");
            System.out.println(f1);//输出 D:\IO\a.txt  
            System.out.println(f2);//输出 D:\IO\a.txt
             
            //File(File parent, String child)
            //从父抽象路径名和子路径名字符串创建新的 File实例。
            File f3 = new File("D:");
            File f4 = new File(f3,"IO");
            System.out.println(f4); //D:\IO
             
            //File(String pathname)
            //通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
            File f5 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");
            System.out.println(f5); //D:\IO\a.txt
             
            //File(String parent, String child)
            //从父路径名字符串和子路径名字符串创建新的 File实例。
            File f6 = new File("D:","IO\\a.txt");
            System.out.println(f6); //D:\IO\a.txt

    3、File 类的常用方法

    ①、创建方法

    1.boolean createNewFile() 不存在返回true 存在返回false

    2.boolean mkdir() 创建目录,如果上一级目录不存在,则会创建失败

    3.boolean mkdirs() 创建多级目录,如果上一级目录不存在也会自动创建

    ②、删除方法

    1.boolean delete() 删除文件或目录,如果表示目录,则目录下必须为空才能删除

    2.boolean deleteOnExit() 文件使用完成后删除

    ③、判断方法

    1.boolean canExecute()判断文件是否可执行

    2.boolean canRead()判断文件是否可读

    3.boolean canWrite() 判断文件是否可写

    4.boolean exists() 判断文件或目录是否存在

    5.boolean isDirectory() 判断此路径是否为一个目录

    6.boolean isFile()  判断是否为一个文件

    7.boolean isHidden()  判断是否为隐藏文件

    8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

    ④、获取方法

    1.String getName() 获取此路径表示的文件或目录名称

    2.String getPath() 将此路径名转换为路径名字符串

    3.String getAbsolutePath()返回此抽象路径名的绝对形式

    4.String getParent()//如果没有父目录返回null

    5.long lastModified()//获取最后一次修改的时间

    6.long length()返回由此抽象路径名表示的文件的长度。

    7.boolean renameTo(File f)重命名由此抽象路径名表示的文件。

    8.File[] liseRoots()//获取机器盘符

    9.String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。

    10.String[] list(FilenameFilter filter)返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。

    //File(File parent, String child)
            //从父抽象路径名和子路径名字符串创建新的 File实例。
            File dir = new File("D:"+File.separator+"IO");
            File file = new File(dir,"a.txt");
             
            //判断dir 是否存在且表示一个目录
            if(!(dir.exists()||dir.isDirectory())){
                //如果 dir 不存在,则创建这个目录
                dir.mkdirs();
                //根据目录和文件名,创建 a.txt文件
                file.createNewFile();
     
            }
            //返回由此抽象路径名表示的文件或目录的名称。 这只是路径名称序列中的最后一个名字。 如果路径名的名称序列为空,则返回空字符串。
            System.out.println(file.getName()); //a.txt
            //返回此抽象路径名的父null的路径名字符串,如果此路径名未命名为父目录,则返回null。
            System.out.println(file.getParent());//D:\IO
            //将此抽象路径名转换为路径名字符串。 结果字符串使用default name-separator character以名称顺序分隔名称。
            System.out.println(file.getPath()); //D:\IO\a.txt

    4、File 的一些技巧

    ①、打印给定目录下的所有文件夹和文件夹里面的内容 

    public static void getFileList(File file){
            //第一级子目录
            File[] files = file.listFiles();
            for(File f:files){
                //打印目录和文件
                System.out.println(f);
                if(f.isDirectory()){
                    getFileList(f);
                }
            }
        }

    测试:

    public static void main(String[] args) throws Exception {
            File f = new File("D:"+File.separator+"WebStormFile");
            getFileList(f);
        }

    感谢您能读到这里,小编希望您对“Java IO中File类是什么”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI