震惊!System Volume Information竟是遍历硬盘下的所有文件和目录时出现异常的真正元凶!!!

我们在对硬盘下的所有目录遍历访问时,经常会出现异常,罪魁祸首就是(硬盘):/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;
    }
}

猜你喜欢

转载自blog.csdn.net/Lotus_dong/article/details/110254162