Java常用类之Math类、File类

Math类

Math类提供了一系列静态方法用于科学计算,其方法的参数和返回值类型一般为double型

abs 绝对值
acos ,asin, atan, cos, sin, tan
sqrt 平方根
pow(double a,double b) a的b次幂
log 自然对数
exp e为底数
max(…), min(…)
random() 返回0.0到1.0的随机数
long round(double a) double型的数据a转换为long型(四舍五入)
具体可查询API文档

File类

File类代表系统文件名(路径和文件名 )

File类常见的构造方法
1、public File(String pathname)
以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储
2、public File(String parent,String child)
以parent为父路径,吃了点为子路径创建File对象
File的静态属性String separator存储了当前系统的路径分隔符

public boolean canRead()
public boolean canWrite()
public boolean exists()
public boolean isDirectory()
public boolean isFile()
public boolean isHidden()
public long lastModified()
public long length()
public String getName()
public String getPath()
通过File对象创建空文件或者目录(在该对象所指的文件或目录不存在的情况下)
public boolean createNewFile() throws IOException
public boolean delete()
public boolean mkdir()
public boolean mkdirs()//创建在路径中的一系列目录

import java.io.*;
public class TestFile1 {
  public static void main(String[] args) {
    String separator = File.separator;
    String filename = "myfile.txt";
    String directory = "mydir1" + separator + "mydir2";
    //String directory = "mydir1/mydir2";在其他运行系统中无法识别
    //String directory = "mydir1\\mydir2";
    File f = new File(directory, filename);
    if (f.exists()) {
      System.out.println("文件名:" + f.getAbsolutePath());
      System.out.println("文件大小:" + f.length());
    } else {
      f.getParentFile().mkdirs();
      try {
        f.createNewFile();//当class文件位于包中的时候,先找到包,然后在找到包上面的路径
      } catch (IOException e) {
       e.printStackTrace();
      }
    }
  }
}

运行结果:

文件名:C:\Users\TestString\mydir1\mydir2\myfile.txt
文件大小:0

下面一个例子:递归列出目录结构

import java.io.*;

public class FileList{
    public static void main(String[] args){
        File f = new File("d:/java/File/A");
        tree(f);
    }

    private static void tree(File f){
        File[] childs =f.listFiles();
        for(int i = 0;i<childs.length;i++){
            System.out.println(childs[i].getName());
            if(childs[i].isDirectory()){
                tree(childs[i]); //递归调用
            }
        }
    }
}

在我电脑上运行时如下结果(可以自己创建几个新文件夹测试)

B
C
123.java
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值