• 常用类——File——Random——Math——枚举


    Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
    java.io.File:文件和目录路径名的抽象表示形式。
      构造方法:
        File(String pathname)
      常用的方法:
        getName()***:返回由此抽象路径名表示的文件或目录的名称
        isDirectory()**:测试此抽象路径名表示的文件是否是一个目录,如果是目录返回true,否则返回false
        isFile(): 测试此抽象路径名表示的文件是否是一个标准文件
        length()**:返回由此抽象路径名表示的文件的长度。目录没有大小
        isHidden(): 测试此抽象路径名指定的文件是否是一个隐藏文件。
        canRead() :测试应用程序是否可以读取此抽象路径名表示的文件。
        canWrite(): 测试应用程序是否可以修改此抽象路径名表示的文件。
        canExecute():测试应用程序是否可以执行此抽象路径名表示的文件。
        listFiles() *** :返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
        exists()*** :测试此抽象路径名表示的文件或目录是否存在,如果存在返回true,否则返回false
        lastModified(): 返回此抽象路径名表示的文件最后一次被修改的时间
        delete()** :删除此抽象路径名表示的文件或目录。

    public class TestFile1 {
        public static void main(String[] args) {
            // 代表转义符,如果需要利用表示路径需要使用\或使用/
    //        File file = new File("D:\javacode");
            File file = new File("D:/javacode");
            System.out.println("文件名:"+file.getName());
            System.out.println("是否是目录:"+file.isDirectory());
            System.out.println("是否是文件:"+file.isFile());
            System.out.println("是否是隐藏文件:"+file.isHidden());
    //        System.out.println("是否可读:"+file.canRead());
    //        System.out.println("是否可写:"+file.canWrite());
    //        System.out.println("是否可执行:"+file.canExecute());
    //        System.out.println("文件的大小:"+file.length()); //目录没有大小
            System.out.println("修改时间:"+new Date(file.lastModified()).toLocaleString());
            File[] fs = file.listFiles();
            for (File file2 : fs) {
                System.out.println("	"+file2.getName());
            }
            //删除文件或目录
            File file2 = new File("E:/北京尚学堂/test/aa.txt");
            if(file2.exists()){
                file2.delete();
            }
            //如果要删除目录,该目录下应该无子目录或文件
            File file3 = new File("E:/北京尚学堂/test/bb");
            if(file3.exists()){
                file3.delete();
            }
            
            
        }
    }

    exists() :测试此抽象路径名表示的文件或目录是否存在,如果存在返回true,否则返回false

    使用递归查看某个目录下的子文件夹及其文件

    public class TestFile2 {
        /**
         * 查看某个目录下的子文件夹及其文件 
         * @param file
         */
        public static void showDir(File file){
            File[] fs = file.listFiles();//获取当前目录下的所有子目录或文件
            for (File file2 : fs) {
                String fileName = file2.getName();
                boolean isDir = file2.isDirectory();//判断是否为一个目录
                if(isDir){
                    String modifyTime = new Date(file2.lastModified()).toLocaleString();
                    System.out.println(modifyTime+"	"+"<DIR>"+"	"+fileName);
                    showDir(file2);//递归调用
                }else{
                    System.out.println("	"+file2.length()+"	"+fileName);
                }
            }
        }
        
        public static void main(String[] args) {
            File file = new File("D:/javacode");
            if(file.exists()){
                showDir(file);
            }else{
                System.out.println("该文件或目录不存在!");
            }
            
        }
    }

    File类常用方法:
      createNewFile():当文件不存在时创建一个新的空文件。 有一个检查异常:IOException需要处理
      mkdir():创建目录(创建一级目录)
      mkdirs()***:创建目录(创建多级目录)

    public class TestFile3 {
        public static void main(String[] args) {
            File file = new File("D:/aa.txt");
            try {
                if(!file.exists()){
                    file.createNewFile();//创建文件
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            File file2 = new File("D:/bb/cc");
            if(!file2.exists()){
    //            file2.mkdir();//创建目录
                file2.mkdirs();
            }
        }
    }

    java.lang.Math:Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数
      常见的属性:
        PI:圆周率
      常用的方法:
        abs():计算绝对值
        ceil(double a):返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
        floor(double a):返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
        max(double a, double b):返回两个 double 值中较大的一个。
        round(double a):返回最接近参数的 long。四舍五入
        pow(double a, double b):返回第一个参数的第二个参数次幂的值。
        sqrt(double a) :返回正确舍入的 double 值的正平方根。
        random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
          产生10个(10,20)之间的随机数

    public class TestMath {
        public static void main(String[] args) {
            System.out.println(Math.abs(-10));
            System.out.println(Math.ceil(19.5));
            System.out.println(Math.floor(19.5));
            System.out.println(Math.max(19,20));
            System.out.println(Math.round(12.6));
            System.out.println(Math.pow(2,3));
            System.out.println(Math.sqrt(2));
            System.out.println(Math.random());
            System.out.println("----------------");
            for (int i = 0; i <10; i++) {
                int r = (int)(Math.random()*11)+10;//0~10
                System.out.print(r+"	");
            }
        }
    }


    java.util.Random:此类的实例用于生成伪随机数流
      构造方法:
        Random():创建一个新的随机数生成器
        Random(long seed):使用单个 long 种子创建一个新的随机数生成器。
      常用方法:
        nextInt(int n):返回一个[0,n)之间的随机数
        nextDouble():(0,1)之间的一个随机数,Math.random()本质调用此函数

    public class TestRandom {
        public static void main(String[] args) {
            Random random = new Random();
            for (int i = 0; i < 10; i++) {
                int r = random.nextInt(10);
                System.out.print(r+"	");
            }
            System.out.println();
            for (int i = 0; i < 10; i++) {
                double r2 = random.nextDouble();//返回0~1之间一个double类型的随机数
                System.out.print(r2+"	");
            }
        }
    }


    枚举:是一种特殊的数据类型,只能从特定的值中选择
      默认使用 public static final使用

    public enum Gender {
       男,女
    }

    JDK1.5之后新增的特性
    只能够取特定值中的一个
    使用enum关键字
    所有的枚举类型隐性地继承自 java.lang.Enum。
    (枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,
    他们默认都是public static final的。可以直接通过枚举类型名直接使用它们。)

    public class Person {
        private String name;
        private Gender sex;//枚举类型
        public Person(){
            
        }
        public Person(String name,Gender sex){
            this.name=name;
            this.sex=sex;
        }
        
        public void show(){
             System.out.println("姓名:"+name);
             System.out.println("性别:"+sex);
        }
        
        public static void main(String[] args) {
            Person p = new Person("zhangsan",Gender.男);
            p.show();
        }
    }
  • 相关阅读:
    爱生气的书店老板
    数组的度
    最大连续 1 的个数
    最大连续1的个数 III
    尽可能使字符串相等
    Java数据类型转换
    CSS卡片制作
    关于eclipse关联源码问题
    tomcat服务器对于http协议的处理
    shiro源码分析-认证过程
  • 原文地址:https://www.cnblogs.com/fwdsz/p/6753654.html
Copyright © 2020-2023  润新知