File.exists()
File是否存在
File.isDirectory()
File是否是目录
File.isFile()
File是否是文件
Filef.lastModified()
返回时间,需要被Date接收
Filef.length()
返回文件大小
Filef.getName()
返回文件名
File.getAbsolutePath()
返回绝对路径(字符串)
Filef.getPath()
返回相对路径(字符串)
File.getParent()
返回父路径(字符串)
剩下的懒得写直接复制代码
代码展示
public class _3_1_File类的使用 {
public static void main(String[] args) throws IOException {
//等价
//File file = new File("d:/a.txt"); --默认使用这个
//File file = new File("d:\\a.txt");
//不打目录的话是直接在该项目文件中打开(并没有创建)
File f = new File("a.txt");
//打印该项目的目录
System.out.println(System.getProperty("user.dir"));
//将f创建出来
f.createNewFile();
System.out.println("file是否存在"+f.exists());
System.out.println("file是否是目录"+f.isDirectory());
System.out.println("file是否是文件"+f.isFile());
System.out.println("file最后修改的时间"+new Date(f.lastModified()));
System.out.println("file的大小"+f.length()); //是字节数 返回类型是long
System.out.println("file的文件名"+f.getName());
System.out.println("file的绝对路径"+f.getAbsolutePath());
System.out.println("file的相对路径"+f.getPath()); //注意如果new file是绝对路径的话,就没有办法使用相对路径
System.out.println("file的父路径"+f.getParent()); //给予相对路径时 输出的是/分隔符前的地址,如果没有/分隔符,就返回null
// System.out.println("file的父对象"+f.getParentFile().getName()); //获得父对象,前提是父路径存在
File f2 = new File("大陆/1.txt");
boolean flag = f2.mkdir() ; //目录结构中有一个不存在,则不会创建整个目录(只能创建文件夹)
System.out.println(flag);
flag= f2.mkdirs(); //无论目录结构存不存在,都会创建整个目录树(只能创建文件夹)
System.out.println(flag);
}
}
public class _3_2_File类的使用 {
public static void main(String[] args) throws IOException {
System.out.println(File.separatorChar);//文件分隔符
/*
* 存在盘符: 绝对路径
* 不存在盘符: 相对路径
*/
String path = "C:/Users/彭俊清/Desktop/Java笔记/game/a.txt";
File src = new File(path);
System.out.println("长度:"+src.length());//文件大小
//文件不存在返回的也是 0
path = "C:/Users/彭俊清/Desktop/Java笔记/game/io.txt";
src = new File(path);
boolean flag = src.createNewFile(); //创建文件,不存在才创建并返回true,存在返回false
//同时他不能创建文件夹
System.out.println(flag);
flag = src.delete();
System.out.println(flag); //删除已存在的文件
//con com3 等操作系统的设备名,不能正确创建
src = new File("con");
System.out.println(src.createNewFile());
}
}
/**
* mkdir() :确保上级目录存在,不存在创建失败
* mkdirs():上级目录可以不存在,不存在则一同创建
*
* list() :列出下级名称
* listFiles():列出下级File对象
*
*/
public class _3_3_File类的使用 {
private static long LEN = 0; //统计文件大小
public static void main(String[] args) throws IOException {
File dirFile = new File("dir/text");
System.out.println(dirFile.mkdir()); //在第一次创建会失败
System.out.println(dirFile.mkdirs()); //没有的情况下一定能创建成功
dirFile = new File("C:\\Users\\彭俊清\\Desktop\\Java笔记\\game");
//获得下级名称
String[] nameStrings = dirFile.list();
for(String i:nameStrings) System.out.println(i);
System.out.printf("\n\n");
//获得下级对象
File[] nameFiles = dirFile.listFiles();
for(File i:nameFiles) System.out.println(i.getName());
System.out.printf("\n\n");
//获得磁盘
File[] rootFiles = File.listRoots();
for(File i:rootFiles) System.out.println(i.getAbsolutePath());
System.out.printf("\n\n");
print(dirFile,0);
System.out.println("文件夹大小:"+LEN + "字节");
}
public static void print(File nameFile,int n) { //打印目录内所有文件
if(nameFile == null|| nameFile.isFile()) {
LEN += nameFile.length();
return;
}
File[] nameFiles = nameFile.listFiles();
for(File i:nameFiles) {
for(int t = 0 ; t < n ;t++) System.out.printf("-");
System.out.println(i.getName());
print(i,n+1);
}
}
}