JAVA进阶(十)File类与枚举
前言
本章讲解File类的基本用法,为后面讲解IO流做一个铺垫性的准备工作
范例
1.File类的基本概念
java.io.File类:代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件属性的时候将会用到本类,可以说很重要
2.构造方法(一般常用的是第二个)
3.绝对路径与相对路径
绝对路径,说白了,就是文件的具体路径,如:d:/test.txt;而相对路径,则是根据当前项目路径考虑,如../test.txt表示项目根路径父路径下的test.txt文档
4.正斜杠“/”与反斜杠“\”
由于操作系统的不同,一般情况下,windows系统下的文件路径使用反斜杠、linux系统使用的则是正斜杠,为了防止混淆,File类提供了一个专门的常量值代表斜杠,在不同的操作系统有不一样的表现形式:
5.常用方法
- public boolean createNewFile() :创建一个新文件,如果该文件已经存在则返回false,成功则返回true
- pubic boolean delete():删除文件夹或者文件,成功则返回true
- public boolean exists():判断一个文件或文件夹是否存在
- public String getName():返回一个文件夹或者文件的名称
- public String getParent():返回一个文件夹或者文件的父路径
- public String getPath():返回一个文件夹或者文件的完整路径
- public boolean isDirectory():判断一个File对象是否为文件夹
- public boolean isFile():判断一个File对象是否为文件
- public boolean mkdir():创建文件夹,基于当前路径,如未找到该路径,则创建失败
- public boolean mkdirs():创建文件夹,创建所有关联的文件夹(推荐使用该方法)
实例:使用递归算法打印目录树,实现下面的功能
程序源码:
package com.jwang.test;
import java.io.File;
/**
* 递归打印目录树
* @author jwang
*
*/
public class Test{
public static void main(String[] args){
//创建要打印的目录
File file = new File("D:\\workspace\\java01");
//打印目录树
printFile(file,0);
}
public static void printFile(File file,int level){
for (int i = 0; i < level; i++) {
System.out.print(" --");
}
System.out.println(file.getName());
if(file.isDirectory()){
for (File child : file.listFiles()) {
printFile(child,level+1);
}
}
}
}
6.枚举的基本用法
各位看如下代码即可,枚举无需了解过多,否则走火入魔