第1关:创建文件
package step1;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Scanner;
public class Task {
/********* Begin *********/
public void solution() throws IOException{
try {
File file1 = new File("src/output/hello.txt");
File file2 = new File("src/output/test.txt");//测试文件里
file1.createNewFile();
file2.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
}
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 dcFile() throws IOException {
/********* Begin *********/
File file=new File("src/test2");
file.mkdir();
File file1=new File("src/output/test2.txt");
file1.delete();
File file4=new File("src/output/test2");
file4.delete();
File file2=new File("src/test2/helloworld.txt");
file2.createNewFile();
File file3=new File("src/test2/step2.txt");
file3.createNewFile();
File dir=new File("src/output");
File[] files= dir.listFiles();
File[] filess=file.listFiles();
Arrays.sort(files);
Arrays.sort(filess);
System.out.println("output目录结构为:");
for(int i=0;i<files.length-1;i++)
{
System.out.println(files[i].getName());
}
System.out.println("test2目录结构为:");
for(int i=0;i<filess.length;i++)
{
System.out.println(filess[i].getName());
}
/********* End *********/
}
}
3
package step3;
import java.io.File;
import java.util.Arrays;
public class Task {
/********** Begin **********/
public void showDirStructure(File file) {
showDir(0,file);
}
public void showDir(int spacenum, File file)
{
if(file.isDirectory())
{
for(int i=0;i<spacenum;i++)
{
System.out.print(" ");
}
System.out.println("+--"+file.getName());
File[] files=file.listFiles();
Arrays.sort(files);
for(int i=0;i<files.length;i++)
{
showDir(spacenum+2,files[i]);
}
}
else
{
for(int i=0;i<spacenum;i++)
System.out.print(" ");
System.out.println("--"+file.getName());
}
}
/********** End **********/
}
4
package step4;
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
public class Task {
/********** Begin **********/
public void showDirStructure(File file) {
showDir(0,file);
}
public void showDir(int spacenum, File file)
{
FileFilter filter=file1->{
if (file1.isFile())
{
String fileName = file1.getName().toLowerCase();
if (fileName.endsWith(".txt") || fileName.endsWith(".docx"))
{
return false;
}
}
return true;
};//指定过滤规则
if(file.isDirectory())
{
for(int i=0;i<spacenum;i++)
{
System.out.print(" ");
}
System.out.println("+--"+file.getName());
File[] files=file.listFiles(filter);//导入规则
Arrays.sort(files);
for(int i=0;i<files.length;i++)
{
showDir(spacenum+2,files[i]);
}
}
else
{
for(int i=0;i<spacenum;i++)
System.out.print(" ");
System.out.println("--"+file.getName());
}
/********** End **********/
}
}