admin管理员组

文章数量:1638824

我们在对硬盘下的所有目录遍历访问时,经常会出现异常,罪魁祸首就是(硬盘):/System Volume Information这个文件夹,因为这个文件夹它拒绝访问,你就是再遍历,只要碰到它都完蛋,而且还是每个盘都有,当然这个文件夹也可以删掉,但我们今天不提供删除的方法,因为这个文件夹其实也挺重要的,具体请看link,我们直接上代码消除它的影响
import java.io.File;
import java.util.ArrayList;

/*
* System Volume Information
* 系统卷标信息,这个玩意就是一个不可访问的
*/
public class Test1 {
    static ArrayList<File> list = new ArrayList<>();

    public static void main(String[] args) {
        File file = new File("G:/");
        for (File f :files(file)) {
            System.out.println(f);
        }
    }

    static ArrayList<File> files(File file) {
        File[] files = file.listFiles();
        for (File f:files) {
            list.add(f);
            if (f.getName().equals("System Volume Information")){
                break;
            }else{
                if (!f.isFile()){
                    files(f);
                }
            }

        }
        return list;
    }
}

本文标签: 遍历元凶异常硬盘文件