zoukankan      html  css  js  c++  java
  • File类的基本用法(常用类之一)

           java.io.File类:代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到的本类。

    File类的常见构造方法:public File(String pathname)

    以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中储存。路径可以是绝对路径和相对路径,分隔符采用\或者/。

    通过File对象可以访问文件的属性。
    public String getName()

    public String getPath()
    public boolean isFile()

    public boolean isDirectory()

    public boolean canRead()

    public boolean canWrite()
    public boolean exists()

    public long length()
    public boolean isHidden()

    public long lastModified()
    public File [] listFiles()

    通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)。
    • public boolean createNewFile()throws IOException
    • public boolean delete() • public boolean mkdir(), mkdirs() 注意两个的区别!!

    示例:

    package cn.tanjianjie.test;
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;

    /**
    * 测试File类
    * @author 谭键杰
    */
    public class TestFile {
    public static void main(String[] args) throws IOException {
    File f = new File("d:\a.txt");//绝对路径创建File类
    System.out.println(f);
    f.renameTo(new File("d:/bb.txt"));//相对路径,改文件名

    System.out.println(System.getProperty("user.dir"));//显示默认目录,所在储存空间

    //在当前项目里面创建文件
    File f2=new File("gg.txt");

    System.out.println("File是否存在:"+f2.exists());
    System.out.println("File是否在目录:"+f2.isDirectory());
    System.out.println("File是否是文件:"+f2.isFile());
    System.out.println("File最后修改时间:"+new Date(f2.lastModified()));
    System.out.println("File的大小:"+f2.length());
    System.out.println("File的文件名:"+f2.getName());
    System.out.println("File的目录路径:"+f2.getPath());

    File f3=new File("d:/电影/华语/大陆");
    //boolean flag=f3.mkdir();//迷路结构中有一个不存在,则不会创建整个目录树
    boolean flag=f3.mkdirs();//目录结构中有一个不存在也没关系,创建整个目录树
    System.out.println(flag);//创建失败
    }
    }
    运行结果:

    递归遍历目录结构和树状展现:
    递归结构包括两个部分:
    1、定义递归头。如果没有头,将陷入死循环,也就是递归的结束条件。
    2、递归体。

    示例:
    package cn.tanjianjie.test;
    import java.io.File;
    public class TestFileTree {
    public static void main(String[] args){
    File f=new File("c:/c语言作业专用");

    printFile(f,0);
    }
    static void printFile(File file,int level){//知道第几层被调用

    //输出层数
    for(int i=0;i<level;i++){
    System.out.println("-");
    }
    System.out.println(file.getName());
    if(file.isDirectory()){//若果是目录
    File[] files=file.listFiles();//所有子目录、子文件

    for(File temp:files){
    printFile(temp,level+1);//递归调用
    }
    }
    }
    }
    运行结果:

     枚举类:

    枚举类型的定义包括枚举声明和枚举体。格式如下:

    enum 枚举名{

               枚举体(常量列表)

    }

    枚举体就是放置一下额常用列表,所有的枚举类隐性地继承java.lang.Enum。枚举实质上还是,而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final修饰的。可以直接通过枚举的类型名使用。

     示例:

    package cn.tanjianjie.test;
    /**
    * 测试枚举类
    * @author 谭键杰
    */
    public class TestEnum {
    public static void main(String[] args){
    System.out.println(Season.SPRING);

    Season a=Season.AUTUMN;

    switch(a){
    case SPRING:
    System.out.println("春天");
    break;
    case SUMMER:
    System.out.println("夏天");
    break;
    case AUTUMN:
    System.out.println("秋天");
    break;
    case WINTER:
    System.out.println("冬天");
    break;
    }
    }

    //定义枚举类
    enum Season{
    SPRING,SUMMER,AUTUMN,WINTER
    }

    enum Week{
    星期一,星期二,星期三,星期四,星期五,星期六,星期天
    }
    }
    运行结果:

    
    
  • 相关阅读:
    微信小程序实现课程表实例
    探索Java中的网络编程技术
    Java中的Spring MVC简介笔记
    我没有想赢,我只是不想输
    下次路过,人间再无我。
    从零基础入门MySQL数据库基础课
    vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础
    学习网站/实用工具,收藏的快搜网站,想找什么都有!!!
    【灵魂拷问】你真的懂得Mysql的管理和使用吗?
    【领会要领】web前端-轻量级框架应用(jQuery基础)
  • 原文地址:https://www.cnblogs.com/Gsan/p/10326754.html
Copyright © 2011-2022 走看看