1.  枚举类型  

描述一种事物的所有情况|所有可能|所有实例

(1)通过enum关键字定义枚举类型

(2)枚举的成员,字段都作为当前枚举类型的实例存在,默认被public static final修饰

(3)定义的枚举类型都会隐式的继承自java.lang.Enum 这是所有Java语言枚举类型的公共基类。

(4)在枚举类型中构造器默认私有

(5)java是值传递:基本数据类型的数据值,引用数据类型的地址值

2、File 路径或者文件的抽象的表现形式

注意:java中路径的分隔符可以使用: \\ / //

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

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

        File file1 = new File("D:\\test.txt");

        File file2 = new File("D:\\AAA");

        File file3 = new File("D:/");

        //File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。

        File file4 = new File(file3,"test.txt");



        ////File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。

        File file5 = new File("D://AAA","BBB");



        File file6 = new File("D://haha.txt");



        System.out.println(file1);

        System.out.println(file2);

        System.out.println(file4);



        System.out.println(file1.equals(file4));

        System.out.println(file2.equals(file5));

        System.out.println(file5);



        //常用方法

        //boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。

        //boolean exists() 测试此抽象路径名表示的文件或目录是否存在。

        //boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便仅允许读取操作。

        if(file1.exists()){

            System.out.println("只读状态设置: "+file1.setReadOnly());

            System.out.println("判断文件file1是否可以编写 "+file1.canWrite());

        }



        //boolean createNewFile() 当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。

        if(!file6.exists()){

            System.out.println(file6.createNewFile());

        }



        //boolean delete() 删除此抽象路径名表示的文件或目录。  空文件夹才可以删除

        System.out.println(file6.delete());

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



        //File getAbsoluteFile() 返回此抽象路径名的绝对形式。

        //String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。

        System.out.println(file1.getAbsolutePath());

        System.out.println(file1.getAbsoluteFile());



        //默认相对于当前项目下

        File file = new File("test.txt");

        System.out.println(file);

        System.out.println(file.getAbsolutePath()); //D:\source_s\lesson\java49\0206_常用类\002_code\project_class\test.txt

        System.out.println(file.getAbsoluteFile()); //D:\source_s\lesson\java49\0206_常用类\002_code\project_class\test.txt



        //long getFreeSpace() 通过此抽象路径名返回分区 named中未分配的字节数。

        System.out.println(file3.getFreeSpace());

        //long getTotalSpace() 通过此抽象路径名返回分区 named的大小。



        //String getName() 返回此抽象路径名表示的文件或目录的名称。

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

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



        //String getParent() 返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。

        //File getParentFile() 返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回 null 。

        System.out.println(file1.getParent());

        System.out.println(file1.getParentFile());

        System.out.println(file5.getParent());

        System.out.println(file5.getParentFile());



        /*

        boolean isAbsolute() 测试此抽象路径名是否为绝对路径。

        boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。

        boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。

         */

        System.out.println(file1.isFile());

        System.out.println(file1.isDirectory());

        System.out.println(file1.isAbsolute());



        //long lastModified() 返回上次修改此抽象路径名表示的文件的时间。

        System.out.println(file1.lastModified());

        System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(file1.lastModified())));



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

        System.out.println(file1.length());



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

        //File[] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。

        File src = new File("D://DDD");

        System.out.println(Arrays.toString(src.list()));

        File[] files = src.listFiles();

        for(File f:files){

            System.out.println(f);

        }



        File file8 = new File("D://haha");

        File file9 = new File("D://hehe/heihei/hengheng.txt");

        //boole9n mkdir() 创建此抽象路径名指定的目录。   一层

        System.out.println(file8.mkdir());

        //boolean mkdirs() 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。    多层

        System.out.println(file9.getParentFile().mkdirs());



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

        //测试 : 跨盘符是否可以实现重命名???

        File file10 = new File("D://test2.txt");

        System.out.println(file1.renameTo(file10));

    }

}

13、java——常用类的更多相关文章

  1. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  2. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  3. Java常用类之要点总结

    Java常用类之要点总结

  4. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  5. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  6. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  7. Java常用类详解

    目录 1. String类 1.1 String的特性 1.2 String字面量赋值的内存理解 1.3 String new方式赋值的内存理解 1.4 String 拼接字面量和变量的方式赋值 1. ...

  8. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuff ...

  9. java常用类-上

    一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...

随机推荐

  1. ISP_DPC坏点矫正

    ISP_DPC坏点矫正 1. 坏点介绍 图像坏点(Bad pixel) : 图像传感器上光线采集点(像素点)所形成的阵列存在工艺上的缺陷,或光信号进行转化为电信号的过程中出现错误,从而会造成图像上像素 ...

  2. 【渗透实战】那些年我们遇到的奇葩WAF_第一期_请求方式绕过

    /文章作者:Kali_MG1937 CSDN博客:ALDYS4 QQ:3496925334/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何被顶上博客首页 为了避 ...

  3. 【NX二次开发】Block UI 指定位置

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  4. Spring Boot WebFlux-08——WebFlux 中 WebSocket 实现通信

    第08课:WebFlux 中 WebSocket 实现通信 前言 WebFlux 该模块中包含了对反应式 HTTP.服务器推送事件和 WebSocket 的客户端和服务器端的支持.这里我们简单实践下 ...

  5. MySQL的启动选项和系统变量该如何配置?

    MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效.另外一种是通过写入配置文件,如my.cnf,启动或者重启MyS ...

  6. 【模拟8.03】数颜色(vector//主席树)

    才知道vector在插入值后是可以直接修改的... 那就很简单了 用vector的lowerbound这样的二分操作,提前储存每个颜色的位置 发现交换相对位置不变 关于vector的lowerboun ...

  7. 【题解】codeforces 8c Looking for Order 状压dp

    题目描述 Lena喜欢秩序井然的生活.一天,她要去上大学了.突然,她发现整个房间乱糟糟的--她的手提包里的物品都散落在了地上.她想把所有的物品都放回她的手提包.但是,这里有一点问题:她一次最多只能拿两 ...

  8. 十八、.net core(.NET 6)搭建ElasticSearch(ES)系列之使用Logstash通过Rabbitmq接收Serilog日志到ES

    使用Logstash通过Rabbitmq接收Serilog日志到ES 首先,要部署logstash 为了与前面的ElasticSearch版本保持一致,此处Logstash下载的版本也是7.13.1, ...

  9. 数据同步Datax与Datax_web的部署以及使用说明

    一.DataX3.0概述 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高 ...

  10. Redis计数信号量

    计数信号量是一种锁,它可以让用户限制一项资源最多能够同时被多少个进程访问,通常用于限定能够同时使用的资源数量.你可以把Redis分布式锁里面创建的锁看作是只能被一个进程访问的信号量. 计数信号量和其他 ...