java.io.File类:代表文件和目录。文件和目录路径名的抽象表示形式。
public class File01 {
public static void main(String[] args) throws IOException {
File f1=new File("a.txt");//相对路径:默认放到当前工程目录下面
f1.createNewFile();//创建文件,不存在才创建
File f2=new File("D:/workplace/b.txt");//绝对路径
f2.createNewFile();//创建文件
}
}
通过File对象访问文件的属性:
通过File对象创建空文件或目录
统计文件大小、个数
public class FileTest02 {
public static void main(String[] args) {
File file=new File("F:/知识点");
count(file);
System.out.println(len);
System.out.println(fileNum);
System.out.println(fileBagNum);
}
private static long len=0;
private static int fileNum;//文件个数
private static int fileBagNum;//文件夹个数
static void count(File file){
if(file!=null&&file.exists()){ //如果file存在
if(file.isFile()){ //如果file是个文件
len+=file.length();
fileNum++;
}else { //如果file是个文件夹
fileBagNum++;
for(File f:file.listFiles()){ //递归调用
count(f);
}
}
}
}
}
遍历
public class File02 {
public static void main(String[] args) {
File file=new File("F:\\Java");
printFile(file,0);
}
static void printFile(File file,int level) {
//level:层次。看是第几次递归调用
for(int i=0;i<level;i++) {
System.out.print("-");
}
System.out.println(file.getName());//输出文件名字
if(file.isDirectory()) { //判断是否是目录,是则执行下面语句
File[] files=file.listFiles();//下级File
for(File temp:files) { //遍历目录
printFile(temp,level+1);//递归调用
}
}
}
}