创建文件夹:
mkdir()创建目录时需确保具备上级目录,否则创建失败
mkdirs()上级目录可以不存在,不存在则一起被创建
同样会返回true或false
列出下一级:
list()列出下级名称 只是名称
listFiles() 列出下级File对象 即是路径
File[] subNames=dir.listFiles()
简单的打印目录名和文件名 有两个版本的
import java.io.File;
public class test2 {
public static void main(String[] args) {
File src=new File("d:/作业");
printName(src,0);
}
public static void printName(File src,int deep) {
for(int i=0;i<deep;i++) {
System.out.print("-");
}
System.out.println(src.getName());
if(src==null||!src.exists())
return;
else if(src.isDirectory()) {
for(File s:src.listFiles()) {
printName(s,deep+1);
}
}
}
}
计算文件夹的大小
import java.io.File;
public class FileTree {
public static void main(String[] args) {
File f=new File("d:/作业");
printFile(f,0);
}
static void printFile(File file,int level) {
for(int i=0;i<level;i++) {
System.out.print("-");
}
System.out.println(file.getName());
if(file.isDirectory()) {
File[] files=file.listFiles();
for(File temp:files) {
printFile(temp,level+1);
}
}
}
}
用递归的方法计算文件夹的大小(字节形式)
import java.io.File;
public class test3 {
public static void main(String[] args) {
File src=new File("d:/作业");
count(src);
System.out.println(len);
}
private static long len=0;
public static void count(File src) {
//获取大小
if(src==null||src.exists()) {
if(src.isFile()) {//大小
len+=src.length();
}else {//子孙级
for(File s:src.listFiles()) {
count(s);
}
}
}
}
}
计算文件夹大小,文件夹数量和文件数(面向对象版)
import java.io.File;
public class test4 {
//大小
private long len;
//文件夹
private String path;
//File源对象
private File src;
//文件个数
private int fileSize;
//文件夹个数
private int dirSize;
public test4(String path) {
this.path=path;
this.src=new File(path);
count(this.src);//计数开始
}
public static void main(String[] args) {
test4 dir=new test4("d:/作业");
System.out.println("文件夹大小:"+dir.getLen());
System.out.println("文件个数:"+dir.getFileSize());
System.out.println("文件夹个数:"+dir.getDirSize());//包含父文件夹本身
}
private void count(File src) {
//获取大小
if(src==null||src.exists()) {
if(src.isFile()) {//大小
len+=src.length();
this.fileSize++;//计算文件个数
}else {//子孙级
for(File s:src.listFiles()) {
this.dirSize++;//计算文件夹个数
count(s);
}
}
}
}
public long getLen() {
return len;
}
public int getFileSize() {
return fileSize;
}
public int getDirSize() {
return dirSize;
}
}
面向对象入门:首先需要创建构造器,其次在处理数据和方法时要搞清楚哪些是适合用private来进行封装保护的,
然后是要使用set()和get()方法来向已封装好的对象传值