文件的一些常识
文件的建立以及一些常用的方法
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
//创建对象,构造方法传入的是路径
//将路径和file对象进行关联
//但此时并没有创建文件夹
File file=new File("D:\\a\\cc");
//创建文件
//如果没有文件就创建,如果有文件就不用创建,并且不会覆盖
file.createNewFile();
//创建目录
file.mkdir();
//删除文件、目录是永久删除!!
//目录中如果有内容,不能直接删除
file.delete();
//File[]获取路径中所有的文件和目录
//如果没有会报空指针异常
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
}
文件练习一:用递归法删除目录中的所有文件
import java.io.File;
public class Practice {
//删除一个文件的所有内容
public static void main(String[] args) {
File file=new File("F:\\jdk1.9");
}
//递归的删除文件和目录
public static void del(File file){
if(file.isDirectory()){//判断是不是目录
//获取文件的文件和目录
File[] files=file.listFiles();
//遍历所有的文件和目录
for(File f: files){
//递归的调用函数
}
}
//递归出口 ,如果不是目录,就删除该文件
file.delete();
}
}
文件练习二:统计目录中所含.java和.class文件的个数
import java.io.File;
public class Practice2 {
//统计目录中所含 .java 和.class文件的个数
static int javacount=0;
static int classcount=0;
public static void main(String[] args) {
File file=new File("C:\\workspace");
count(file);
System.out.println("java文件的个数"+javacount);
System.out.println("class文件的个数"+classcount);
}
private static void count(File file) {
if(file.isDirectory()){
File[]files=file.listFiles();
for(File f:files){
count(f);
}
}else if(file.getName().endsWith(".java")){
javacount++;
}else if(file.getName().endsWith(".class")){
classcount++;
}
}
}