package zl_file;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
判断功能:
public boolean isDirectory():判断是否是目录(文件夹)
public boolean isFile():判断是否是文件
public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWrite():判断是否可写
public boolean isHidden():判断是否隐藏
获取功能:
public String getAbsolutePath():获取绝对路径
public String getPath():获取相对路径
public String getName():获取名称
public long length():获取长度。字节数
public long lastModified():获取最后一次的修改时间,毫秒值 这个可以看是否有人动过自己的文件
获取功能:
public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
*/
public class FileDemo2 {
public static void main(String[] args) throws IOException {
//先创建文件夹
File file1 = new File("h:\\demo\\test");
file1.mkdirs();
//在上面的路径上创建文件
File file2 = new File("h:\\demo\\test\\a.txt");
file2.createNewFile();
//public boolean isDirectory():判断是否是目录 (文件夹)
File file3 = new File("h:\\demo\\test\\a.txt");
System.out.println(file3.isDirectory());//false,
File file4 = new File("h:\\demo\\test");
System.out.println(file4.isDirectory());//true
//public boolean isFile():判断是否是文件
File file5 = new File("h:\\demo\\test\\a.txt");
System.out.println(file5.isFile());//true
//public boolean exists():判断是否存在
File file6 = new File("h:\\demo\\test\\a.txt");
System.out.println(file6.isFile());//true
File file7 = new File("h:\\demo\\test\\b.txt");
System.out.println(file7.isFile());//false
//public boolean canRead():判断是否可读
//public boolean canWrite():判断是否可写
//public boolean isHidden():判断是否隐藏
System.out.println(file6.canRead());//true
System.out.println(file6.canWrite());//true
System.out.println(file6.isHidden());//flase
//获取功能
//public String getAbsolutePath():获取绝对路径
System.out.println(file6.getAbsolutePath());//h:\demo\test\a.txt
//public String getPath():获取相对路径
System.out.println(file6.getPath());//h:\demo\test\a.txt,若是在程序文件夹下,就会没有盘符
//public String getName():获取名称
System.out.println(file6.getName());//a.txt
//public long length():获取长度。字节数
System.out.println(file6.length());// 0 , 里面没有东西
//public long lastModified():获取最后一次的修改时间,毫秒值
System.out.println(file6.lastModified());//1474975514541
//
Date d = new Date(1474975514541L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);//2016-09-27 19:25:14
//高级获取功能
//public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
File file = new File("H:\\");
String[] str = file.list();//这里获取的是H盘下的所有文件夹以及文件的名称所组成的数组
//需要遍历
for(String s1 : str){
System.out.println(s1);//会得到H盘下的所有文件夹以及文件的名称
}
//public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
File[] f = file.listFiles();//效果跟上面的差不多,只不过这个数组类型是File类型的
//遍历
for(File fi : f){
System.out.println(fi.getName()+fi.length());
//由于是File类型的,所以可以调用File的方法查看其中的文件的属性
}
}
}