第1关 创建文件
package step1;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Scanner;
public class Task {
public void solution() {
/********* Begin *********/
try{
File file1 = new File("src/output/hello.txt");
file1.createNewFile();
File file2 = new File("src/output/test.txt");
file2.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
/********* End *********/
}
}
第2关 文件的常用操作
package step2;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays;
public class Task {
public static void main(String[] args)throws IOException {
/********* Begin *********/
File file1 = new File("src/test2");
file1.mkdir();
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();
File dir = new File("src/output");
File[] files = dir.listFiles();
System.out.println("output目录结构为:");
Arrays.sort(files);//这里用集合排序
for(File file : files){
System.out.println(file.getName());
}
System.out.println("test2目录结构为:");
File dir1 = new File("src/test2");
File [] files1 = dir1.listFiles();
for(File file : files1){
System.out.println(file.getName());
}
/********* End *********/
}
}
第3关 文件查看器
package step3;
import java.io.File;
import java.util.Arrays;
public class Task {
/********** Begin **********/
int n = 1;
public void showDirStructure(File file) {
System.out.println("+--"+file.getName());
File[] dir = file.listFiles();
Arrays.sort(dir);
for(File files : dir){
if(files.isDirectory()){
for(int i = 0 ; i < n* 2;++i)
System.out.print(" ");
++n;
showDirStructure(files);
--n;
}
else{
for(int i = 0 ; i < n*2; ++i)
System.out.print(" ");
System.out.println("--"+files.getName());
}
}
}
第4关 图片查看器
package step4;
import java.io.File;
import java.util.Arrays;
public class Task {
/********** Begin **********/
public void showDirStructure(File file) {
if(file.isDirectory()){
System.out.println("+--"+file.getName());
}
int a = 2 ;
showDirTree(a,file);
}
public void showDirTree(int a , File file){
File[] files = file.listFiles();
Arrays.sort(files);
for(int i = 0 ; i < files.length; i ++){
if(files[i].isDirectory()){
for(int j = 0 ; j < a ; j++){
System.out.print(" ");
}
System.out.println("+--"+files[i].getName());
showDirTree(a+2,files[i]);
}else{
String fileName = files[i].getName().toLowerCase();
if(fileName.endsWith(".jpg")||fileName.endsWith(".png")||fileName.endsWith(".bmp")){
for(int j = 0 ; j < a; j++){
System.out.print(" ");
}
System.out.println("--"+files[i].getName());
}
}
}
}
/********** End **********/
}