第1关:创建文件
package step1;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Scanner;
class Task {
/********* Begin *********/
public void solution() {
File file = new File("src/output/test.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
File file1 = new File("src/output/hello.txt");
try {
file1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
/********* End *********/
}
}
第2关:文件的常用操作
package step2;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.Arrays;
class Task {
public static void dcFile() throws IOException {
/********* Begin *********/
File file = new File("src/test2");
file.mkdirs();//创建文件夹
File file2 = new File("src/output/test2.txt");
file2.delete();
File file3 = new File("src/test2/helloworld.txt");
file3.createNewFile();
File file4 = new File("src/test2/step2.txt");
file4.createNewFile();
System.out.println("output目录结构为:");
File fi = new File("src/output");
File[] files = fi.listFiles();
Arrays.sort(files);
for(File t : files) {
System.out.println(t.getName());
}
System.out.println("test2目录结构为:");
File fi2 = new File("src/test2");
File[] files1 = fi2.listFiles();
Arrays.sort(files1);
for(File t : files1) {
System.out.println(t.getName());
}
/********* End *********/
}
}
第3关:文件查看器
package step3;
import java.io.File;
import java.util.Arrays;
class Task {
/********** Begin **********/
public void showDirStructure(File file) {
//刚开始的操作
if (file.isDirectory()){//这里是对于输入文件夹(传递参数file对象)刚开始的操作
System.out.println("+--"+file.getName());//对于此文件夹+--输出
}
int a=2;
kg(a, file);
}
public void kg(int a, File file) {
File[] files = file.listFiles();
for(File t : files) {
if(t.isFile()) {
for(int i = 1; i <= a; ++ i ) {
System.out.print(" ");
}
System.out.println("--" + t.getName());
} else {
for(int i = 1; i <= a; ++ i) {
System.out.print(" ");
}
System.out.println("+--" + t.getName());
kg(a + 2, t);
}
}
}
/********** End **********/
}
第4关:图片查看器
package step4;
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
class Task {
/********** Begin **********/
public void showDirStructure(File file) {
if(file.isDirectory()) {
System.out.println("+--" + file.getName());
}
int a = 2;
kg(2, file);
}
public void kg(int a, File file) {
FileFilter file2 = file1-> {
if(file1.isFile()) {
String s = file1.getName();
if(s.endsWith("jpg") || s.endsWith("png") || s.endsWith("bmp"))return true;
else return false;
}
return true;
};
File[] files = file.listFiles(file2);
for(File t : files) {
if(t.isDirectory()) {//是文件夹
for(int i = 1; i <= a; ++ i ) {
System.out.print(" ");
}
System.out.println("+--" + t.getName());
kg(a + 2, t);
} else {
for(int i = 1; i <= a; ++ i ) {
System.out.print(" ");
}
System.out.println("--" + t.getName());
}
}
}
/********** End **********/
}