常用类——File——Random——Math
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用类——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("\t"+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+"\t"+"<DIR>"+"\t"+fileName); showDir(file2);//递归调用 }else{ System.out.println("\t"+file2.length()+"\t"+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+"\t"); } } }
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+"\t"); } System.out.println(); for (int i = 0; i < 10; i++) { double r2 = random.nextDouble();//返回0~1之间一个double类型的随机数 System.out.print(r2+"\t"); } } }
枚举:是一种特殊的数据类型,只能从特定的值中选择
默认使用 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(); } }
以上是关于常用类——File——Random——Math的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE基础六----<常用类>Math类Random类|System类,Date类Calendar类SimpleDateFormat类,BigInteger类BigDecimal类