20、Math和File

一 Math类

1.1 Math类

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

  • abs:绝对值

  • acos,asin,atan,cos,sin,tan

  • sqrt:平方根

  • pow(double a, double b):a的b次幂

  • log:自然对数

  • exp:e为底指数

  • max(double a, double b)

  • min(double a, double b)

  • random():返回0.0到1.0的随机数

  • long  round(double a):double型的数据a转换为long型(四舍五入)

  • toDegrees(double angrad):弧度-->角度

  • toRadians(double angdeg):角度-->弧度

 

 

二 File类

2.1 File类

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

 

2.1.1 File类的常见构造方法

  • public File(String pathname):以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储

  • public File(String parent,String child):以parent为父路径,child为子路径创建File对象

  • File的静态属性String separator存储了当前系统的路径分隔符

 

2.1.2 File常用方法

通过File对象可以访问文件的属性

  • public boolean canRead();

  • public boolean canWrite();

  • public boolean exists();

  • public boolean isDirectory();

  • public boolean isFile();

  • public boolean isHidden();

  • public long lastModified();

  • 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 TestFile {
    public static void main(String[] args) {
        String separator = File.separator;
        String filename = "myfile.txt";
        String directory = "mydir1" + separator + "mydir2";
        File f = new File(directory, filename);
        if (f.exists()) {
            System.out.println("文件名: " + f.getAbsolutePath());
            System.out.println("文件大小: " + f.length());
        } else {
            f.getParentFile().mkdirs();
        }
    }
}

 

 

 

 

1.2 练习

编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件夹

import java.io.*;

public class FileList {
    public static void main(String[] args) {
        File f = new File("d:/A");
        System.out.println(f.getName());
        tree(f, 1);
    }


    private static void tree(File f, int level) {
        String preStr = "";
        for(int i=0; i<level; i++) {
            preStr += "    ";
        }

        File[] childs = f.listFiles();
        for(int i=0; i<childs.length; i++) {
            System.out.println(preStr + childs[i].getName());
            if(childs[i].isDirectory()) {
                tree(childs[i], level + 1);
            }
        }
    }
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值