2017-03-22-异常-文件类
Xplorist Lv6

2017-03-22-异常-文件类

知识点1:

异常处理

try{

}catch(){

}finally{

}

知识点2:

文件类

实例1:

创建一系列文件夹c:\Users\Administrator\Desktop\向波任\向波任\向波任

然后在相应的文件夹下创建 向波任.txt文件

思路:使用File类相关的方法

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
public static void creatDirTest() {
        File file = new File("c:\\Users\\Administrator\\Desktop\\向波任\\向波任\\向波任");
        file.mkdirs();
        File file1 = new File(file.getPath() + ".txt");
        File file2 = new File(file1.getParent() + ".txt");
        try {
            file1.createNewFile();
            file2.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

实例2:

将一个文件夹里面的所有文件和文件夹输出,并显示文件结构

思路:递归

核心代码:

自己的思路:

1
2
3
4
5
6
7
8
9
10
11
public static void find(File file) {
        File[] fa=file.listFiles();
        for (int i = 0; i < fa.length; i++) {
            if (fa[i].isDirectory()) {
                System.out.println("文件夹:"+fa[i].getName());
                find(fa[i]);
            } else{
                System.out.println("文件:"+fa[i].getName());
            }
        }
    }

//之所以没想到打印格式,是因为路径跟随原理,这种思路虽然也挺清晰,但是考虑分层的情况比较复杂,

//所以第一次的思路决定了以后其他方法的思路,虽然原理相同,但是输出前后,流程逻辑有一点小变化就会导致后面其他功能的思路,所以不要太依赖第一感觉和思路,多思考其他的思路

//尽量做到举一反三,一题多解。所以这次经验告诉我们:多种思路多种角度的重要性,一条路如果走不通可以试一试将这种思路换个角度来思考,说不定会找到更简单的角度。

//这也间接说明了自己的思路太窄了,局限性太大,还有很大的提升空间。直觉和经验虽然重要,理性和逻辑思维,主动的意识思考还是非常重要的,不要完全依赖直觉。

老师的思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void find1(File file){
        level++;
        for(int i=0;i<level;i++){
            System.out.print("\t");
        }
        System.out.println(file.getName());
        if(file.isDirectory()){
            File[] fa=file.listFiles();
            for(File f:fa){
                find1(f);
            }
        }
        level--;
    }
 评论