当前位置: 首页 > article >正文

Java 实训第11天 枚举

一、enum --- 枚举--JDK1.5
    对能够列举的数据进行封装 ---- 枚举类型
    枚举本质上也是class。
    定义枚举:
        enum Week{
        ...
        }
    enum定义的枚举实际上直接继承了Enum<E extends Enum<E>>。
    
    在枚举类型中,构造方法默认是private(私有)。
    
    案例:
    enum Color{
        RED("红" ,"夕阳红"),GREEN("绿" ,"草绿"),BLUE("蓝" ,"深海蓝");

        private String name;
        private String dis;
        Color(String name, String dis){
            this.name = name;
            this.dis = dis;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getDis() {
            return dis;
        }

        public void setDis(String dis) {
            this.dis = dis;
        }
    }
    
二、File
1、定义
    File表示文件或文件夹。

2、构造
    File(String pathname)
    File(URI uri)    //URI 统一资源标识,URL统一资源定位


3、常用方法
    创建
        createNewFile()---创建新文件---当文件不存在的时候才会创建
        mkdir()---创建目录 ---每次只能创建一层目录
        mkdirs()---创建多层目录
    删除
        delete()---删除文件或者目录---如果删除的是目录且该目录下有子文件或子目录则删除失败

    判断
        canWrite()---判断此文件是否可写
        isDirectory()---判断是否是一个目录 ***
        isFile()---判断是否是一个文件 ***
        exists()--判断此文件或者目录是否真实存在的 ***
        isAbsolute()---判断file所表示的文件的路径是否是一个绝对路径
        isHidden()---判断file是否是一个隐藏文件

    获取
        listFiles()---获取指定目录下子文件和子目录组成的数组
        getName()---获取文件名
        getAbsoluteFile()---获取file所在绝对路径


    练习:利用File的api实现统计某个目录(包括子目录)中的所有png图片的数量。
    
    请选择要统计的文件:
        1:统计html文件
        2:统计css文件
        3:统计js文件
        4:统计图片文件
        
        png,jpeg,jpg,gif
    
    
    
    基础代码:
        public class Day11Demo03 {
            private static int count=0;

            public static void main(String[] args) {
                counttor(new File("D:\\test\\gbts_12_proton\\assets\\tt.txt"));
                System.out.println("png文件数量:"+count);
            }

            public static void counttor(File file){
                if(file.isDirectory()){
                    File[] files = file.listFiles();
                    //遍历目录下的所有文件及文件夹
                    for (File f : files) {
                        if(f.isDirectory()){
                            //如果是目录,继续打开
                            counttor(f);
                        }else{
                            //如果是文件则判断是否为png图片
                            if(f.getName().toLowerCase().endsWith("png")) count++;
                        }
                    }

                }else{
                    System.out.println("不是一个目录~");
                }
            }
        }
    
4、文件处理中的路径问题
    分隔符:
        window: 路径分隔符使用"\",程序中"D:\\test\\logo.png"
        Linux/Mac: 路径分隔符使用"/"
    路径:
        相对路径:
            相对于当前文件的位置
            .    表示当前目录
            ..    表示上一层目录
        
        绝对路径:
            window -- 盘符+路径   D:\\workspace\\index.html
            Linux/Mac -- /+路径      /workspace/index.html
            
    java程序中的路径分隔符:根据不同系统平台自适应
        File.separator
        System.getProperty("file.separator")
    

三、RandomAccessFile
    在操作文件的时候会把文件看做一个大型的字节数组。
    每一个RandomAccessFile对象创建好之后默认都是从第0个字节开始操作。


http://www.kler.cn/a/381462.html

相关文章:

  • qml MouseArea详解
  • REMARK-LLM:用于生成大型语言模型的稳健且高效的水印框架
  • 用uniapp写一个播放视频首页页面代码
  • 全国城市经纬度--包括省会(直辖市)、地级市
  • 41.5 nginx拦截prometheus查询请求使用lua脚本做promql的检查替换
  • springboot实战(19)(条件分页查询、PageHelper、MYBATIS动态SQL、mapper映射配置文件、自定义类封装分页查询数据集)
  • 北京交通大学机器学习实验
  • winform 加载 office excel 插入QRCode图片如何设定位置
  • selenium操作已开启的浏览器,方便调试
  • Python数据分析NumPy和pandas(二十四、数据整理--连接、合并和重塑 之一:分层索引)
  • 51单片机教程(八)- 数码管的静态显示
  • 云轴科技ZStack 联合 OpenCloudOS 完成技术兼容互认证
  • 目标检测YOLO实战应用案例100讲-基于深度学习的人眼视线检测
  • 【云原生开发】如何通过client-go来操作K8S集群
  • 排序算法详细总结
  • 导师双选系统开发新解:Spring Boot技术
  • 练手之基于python的新闻爬虫
  • github.com port 22
  • 基于TRIZ理论的便携式光伏手机充电装置创新
  • 《Linux系统编程篇》消息队列(Linux 进程间通信(IPC))——基础篇
  • docker配置与基础操作
  • Go语言组合和转发
  • 通过自然语言表达你的想法。GitHub Spark让任何人都能使用人工智能,为自己创建软件...
  • Spring Boot环境下的导师双选流程优化
  • 鸿蒙ArkTS中的布局容器组件(Column、Row、Flex、 Stack、Grid)
  • Xfce桌面设置右键菜单:用右键打开VSCode