0.99 ^ 365 = 0.2250
1.01 ^ 365 = 37.783
第四节 IO File 文件夹的创建遍历
方法签名 | 方法描述 |
---|---|
boolean mkdir() | 创建文件目录(必须确保上一级文件目录存在) |
boolean mkdirs() | 创建文件目录(文件递归创建) |
String[] list() | 列出下一级名称 |
File[] listFiles() | 列出下一级对象 |
File[] listRoots() | 列出所有盘符 |
import java.io.File;
public class CreateFileDirectory {
public static void main(String[] args) {
File file = new File("D:/proWorking_Directory/Java/File/chen/cangjing");
boolean mkdirFlag = file.mkdir(); // cangjing的上一级目录chen不存在所以创建失败
System.out.println("目录是否创建成功:" + mkdirFlag);
boolean mkdirsFlag = file.mkdirs(); // 递归创建文件
System.out.println("目录是否创建成功:" + mkdirsFlag);
// mkdirsFlag = file.mkdirs(); // 文件目录已经存在则创建失败
// System.out.println("目录是否创建成功:" + mkdirsFlag);
// 运行结果:目录是否创建成功:false
file = new File("D:/proWorking_Directory/Java/");
String[] list = file.list();
System.out.print("下级目录:");
for(String str : list) {
System.out.print(str + " ");
}
System.out.println();
File[] subDir = file.listFiles();
System.out.println("下级目录对象:");
for(File f : subDir) {
System.out.println(" " + f.getAbsolutePath());
}
File[] root = file.listRoots();
System.out.print("根盘符:");
for(File f : root) {
System.out.print(f.getAbsolutePath() + " ");
}
}
}
/*
* 依次运行结果
* 目录是否创建成功:false
* 目录是否创建成功:true
* 下级目录:.Learn .metadata cn.chen Collection File Learn nihoa Note Poker temp Test
* 下级目录对象:
D:\proWorking_Directory\Java\.Learn
D:\proWorking_Directory\Java\.metadata
D:\proWorking_Directory\Java\cn.chen
D:\proWorking_Directory\Java\Collection
D:\proWorking_Directory\Java\File
D:\proWorking_Directory\Java\Learn
D:\proWorking_Directory\Java\nihoa
D:\proWorking_Directory\Java\Note
D:\proWorking_Directory\Java\Poker
D:\proWorking_Directory\Java\temp
D:\proWorking_Directory\Java\Test
* 根盘符:
C:\ D:\ E:\ F:\ H:\
*/
递归文件目录
import java.io.File;
public class RecursionFile {
public static void main(String[] args) {
File file = new File("D:/proWorking_Directory/Java/File/src");
recursionFile(file, 0);
}
public static void recursionFile(File file, int level) {
if(!file.exists()){
throw new RuntimeException("文件路径不存在!");
}
for(int i = 0; i < level; i++) {
System.out.print(" ");
}
System.out.println(file.getName());
if(file.isDirectory()) {
File[] subFile = file.listFiles();
for(File f : subFile) {
recursionFile(f, level + 1);
}
}
}
}
/*
* 执行结果
* src
com
File
CreateFileDirectory.java
CreateFileInstance.java
FileBaseOperate.java
FilePath.java
RecursionFile.java
temp.txt
*/
遍历求文件夹大小
import java.io.File;
public class RecursionFile {
public static int size = 0;
public static void main(String[] args) {
File file = new File("D:/proWorking_Directory/Java/File/src");
recursionFile(file);
System.out.println("文件夹大小:" + size / 1024 + "KB");
}
public static void recursionFile(File file) {
if(!file.exists()){
throw new RuntimeException("文件路径不存在!");
}
if(file.isFile()) {
size += file.length();
}
if(file.isDirectory()) {
File[] subFile = file.listFiles();
for(File f : subFile) {
recursionFile(f);
}
}
}
}
/*
* 执行结果
* 文件夹大小:7KB
*/