File类
常用方法:
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("d:/aa.txt");
//创建一个文件
System.out.println(file.createNewFile());
//判断文件是否存在
System.out.println(file.exists());
//得到文件的名字
System.out.println(file.getName());
//判断是否是文件
System.out.println(file.isFile());
//文件是否是隐藏文件
System.out.println(file.isHidden());
//删除文件
//System.out.println(file.delete());
//返回文件的大小
System.out.println(file.length());
System.out.println("路径:"+file.getPath());
System.out.println("绝对路径:"+file.getAbsolutePath());
System.out.println("父路径:"+file.getParent());
System.out.println(file.getParentFile());//父路径
/**
* 对目录的操作
*/
//创建一个目录
File file2 = new File("d:/a");
System.out.println(file2.mkdir());
//创建多级目录
File file3 = new File("d:/b/ccc");
System.out.println(file3.mkdirs());
//判断目录是否存在
System.out.println(file3.exists());
//判断是否是目录
System.out.println(file3.isDirectory());
//得到父目录的名字
System.out.println(file3.getParent());
System.out.println(file3.getParentFile().getName());
File file4 = new File("d:/");
//列出指定目录的全部内容,只是列出名称
String[] arr = file4.list();
for(String temp:arr) {
System.out.println(temp);
}
System.out.println();
//列出指定目录的全部内容,只是列出路径
File[] arr2 = file4.listFiles();
for(File s:arr2) {
System.out.println(s);
}
}
}
递归:方法自己调用自己
打印子孙级目录和文件名称
public class DirDemo04 {
public static void main(String[] args) {
File file=new File("D:\\workspace\\Mypro11IO");
printName(file,0);
}
public static void printName(File s,int deep) {
//控制前面层次
for(int i=0;i<deep;i++) {
System.out.print("-");
}
//打印名称
System.out.println(s.getName());
if(null==s||!s.exists()) {
return;
}else if(s.isDirectory()) {
for(File src:s.listFiles()) {
printName(src,deep+1);
}
}
}
}
计算文件夹的大小
递归方法
public class DirDemo05 {
private static long sum=0;
static boolean flag;
public static void main(String[] args) {
File src = new File("D:\\workspace\\Mypro11IO");
flag=src.exists();
System.out.println(flag);
count(src);
System.out.println(sum);
}
public static void count(File s) {
if(null!=s && s.exists()) {
if(s.isFile()) {
sum+=s.length();
}else {
for(File file:s.listFiles()) {
count(file);
}
}
}
}
}
/**
- 路径中的名称分隔符
*/
public class PathDemo01 {
/**
* "\" "/" 名称分隔符 separator
* @param args
*/
public static void main(String[] args) {
String path = "D:\\workspace\\Mypro11IO\\src\\sxt\\IO.png";
System.out.println(File.separatorChar);
//建议
//1、"/" 简单方便 常用
path = "D:/workspace/Mypro11IO/src/sxt/IO.png";
System.out.println(path);
//2、常量拼接 可以跨平台
path ="D:"+File.separator+"workspace"+File.separator+"Mypro11IO"+File.separator+"src"+File.separator+"sxt"+File.separator+"IO.png";
System.out.println(path);
}
}