Java面向对象 - 文件类(头歌)

第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 **********/
}
  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FindYou.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值