• File 类 操作实例


    File 操作
    <介绍>
    尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。此外,File还浏览子目录层次结构。很多程序中文件是数据的根源和目标。尽管它们在小应用程序中因为安全原因而受到严格限制,文件仍是存储固定和共享信息的主要资源。Java中的目录当成File 对待,它具有附加的属性——一个可以被 list( )方法检测的文件名列表。

    package com.io;
    
    import java.io.File;
    import java.io.IOException;
    
    public class Que1 {
        /*
         * requirement: File
         * File 类的实例是不可变的;
         * 也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。 
         *构造方法:File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
         */
    //  创建方法
    //  1.boolean createNewFile() 不存在返回true 存在返回false
    //  2.boolean mkdir() 创建目录
    //  3.boolean mkdirs() 创建多级目录
    //
    //  删除方法
    //  1.boolean delete()
    //  2.boolean deleteOnExit() 文件使用完成后删除
    
    
        public static void main(String[] args) {
            File myfile = new File("D:\test/myword.txt");//创建实例
            //多大:
            System.out.println(myfile.length());
            File myfile2 = new File("D:\Program Files");
            File files[] = myfile2.listFiles(new MyfileNameFiler(".txt"));//过滤器
            //获取该目录文件
            for (File f:files){
                System.out.println(f.getAbsolutePath()+"文件名:"+f.getName());
    
            }
            //判断这个file究竟存不存在??
            System.out.println(myfile.exists());//返回boolean
            //他是文件还是文件夹呢??
            System.out.println(myfile.isFile());//是file
            System.out.println(myfile.isDirectory());//false
            System.out.println(myfile2.isDirectory());
            //绝对路径?
            System.out.println(myfile.getAbsolutePath());
            System.out.println(myfile.getName());
            //删除成功就是true
            System.out.println(myfile.delete());
            System.out.println("创建文件");
            try {
                System.out.println(myfile.createNewFile());
                //当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
                //检查文件是否存在,若不存在则创建该文件,
                //这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。 
            } catch (IOException e) {
                e.printStackTrace();
            }
    
    
    
        }
    
    }
    

    这个是FilenameFilter筛选对应的文件格式

    package com.io;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class MyfileNameFiler implements FilenameFilter {
        String endsWith;
        public MyfileNameFiler(String endsWith) {
            this.endsWith = endsWith;
        }
    
        @Override
        public boolean accept(File dir, String name) {
            return name.endsWith(endsWith);//取非的时候,不是以这个结尾的将会选择出来
        }
    
    }
    

    重点内容

    File 还包括两个有用的实用工具方法。第一个是renameTo( ),显示如下:
    (1)boolean renameTo(File newName)
    这里,由newName指定的文件名变成了所调用的File 对象的新的名称。如果更名成功则返回ture,文件不能被重命名(例如,你试图重命名文件以使它从一个目录转到另一个目录,或者你使用了一个已经存在的文件名),则返回false。
    (2)第二个实用工具方法是delete( )
    该方法删除由被调用的File对象的路径指定的磁盘文件。它的形式如下:
    boolean delete( )
    同样可以在目录为空时用delete( )删除目录。如果删除了文件,delete( )返回true,如果文件不能被删除则返回false。Java 2 为File 类增添了一些新的方法,你会发现在某些场合这些新增方法很有用。
    一些最有趣的方法显示如下:
    方法 描述
    void deleteOnExit( ) 在java虚拟机终止时删除与调用对象相关的文件
    boolean isHidden( ) 如果调用的文件是隐藏的,返回true;否则返回 false。
    boolean setLastModified(long millisec) 设置由millisec指定的调用文件的时间标志,Millisec是从1970年1月1号开始的标准时间(UTC)的毫秒数
    boolean setReadOnly( ) 设置调用文件为只读
    并且,因为File 类现在支持Comparable 接口,compareTo( )方法也被支持。

  • 相关阅读:
    #ACsaber ——简单排序、字符串加空格、数组中的行 ~20.10.22
    #堆排序 20.09.27
    #并查集 20.09.25
    #卡特兰数 #抽屉原理 #Nim游戏 ——杂记
    #扩展欧几里得算法 ——线性同余方程 ~20.9.4
    #周测 7 —— 数的划分 、逆序对 、排座椅 、棋盘
    117. 占卜DIY
    116. 飞行员兄弟
    115.给树染色
    112.雷达设备
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879976.html
Copyright © 2020-2023  润新知