File类和枚举
java.io.File类:文件和目录路径名的抽象表示形式
File类常见构造方法:
File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新 File
实例。
常用方法:
canWrite():测试程序是否可以修改抽象路径名称的文件。
canRead():测试程序是否可以读取抽象路径名称的文件。
canExcute():测试程序是否可以执行抽象路径名称的文件。
compareTO(File pathname):按字母顺序比较两个抽象路径名称
createNewFile():如果不存在抽象路径名的文件就创建一个新文件
delete():删除抽象路径名的文件或目录
equals(Object obj):测试抽象路径名与给定的对象是否相同
exists():测试抽象路径名表示的文件或目录是否存在
getAbsoluteFile():返回抽象路径名的绝对路径
getName():得到文件名
getPath():将抽象路径返回一个路径名字符串isAbsolute() :测试此抽象路径名是否为绝对路径名。
isDirectory():测试此抽象路径名表示的文件是否是一个目录。
isFile():测试此抽象路径名表示的文件是否是一个标准文件。
isHidden():测试抽象路径名文件是否是一个隐藏文件
lastModified():返回此抽象路径名表示的文件最后一次被修改的时间。
length():返回由此抽象路径名表示的文件的长度。 3
list(): 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)
public class FileTree{
public static void main(String [] args){
File f=new File("d:/aa");//创建新的File实例
printFile(f,0);
}
static void printFile(File file,int level){
for(int i=0;iMlevel;i++){//遍历
System.out,print("-")
}
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的。可以直接通过枚举类型名直接使用它们。)
public class TestEnum {
public static void main(String[] args) {
Week ww = Week.FRIDAY; //定义一个枚举类型对象
Week ww2 = Week.values()[2]; //返回枚举的第三个元素!!
System.out.println(ww2);
String temp = testEnum(Week.SUNDAY);
System.out.println(temp);
System.out.println(Week.TUESDAY.ordinal()); //返回TUESDAY在枚举中的索引
System.out.println(Week.TUESDAY.toString());
System.out.println(Week.TUESDAY.name());
System.out.println(Week.TUESDAY);
}
static String testEnum(Week w){
switch (w) {
case SUNDAY:
return "日";
case MONDAY:
return "一";
case TUESDAY:
return "日";
case WEDNESDAY:
return "日";
case THURSDAY:
return "日";
case FRIDAY:
return "日";
case SATURDAY:
return "日";
}
return "";
}
}
enum Week{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}