File.listFiles()在映射的网络驱动器上返回null

时间:2014-09-09 13:12:27

标签: java network-drive eclipse-luna

Eclipse Luna没有看到映射的网络驱动器! 显然,我能够读取映射驱动器上的任何文件。

这是我的测试:

public static void main(String[] args) throws       
    // this part works properly
    File myFile = new File("C:\\test.txt");
    FileWriter fw = new FileWriter(myFile);
    fw.write("test");
    fw.close();

    //this will throw an exception
    myFile = new File("O:\\");
    File[] myList = myFile.listFiles();
    System.out.println(myList.length);
}

作为Java应用程序运行:

Exception in thread "main" java.lang.NullPointerException
at variousTest.fileFinder.main(fileFinder.java:28)

我可以确认你的驱动器里面有一个很大的文件夹列表。

操作系统:Windows 7 Professional SP1

更新I - 9月10日:

我试图在eclipse之外运行程序,我对结果感到困惑,事实上我得到了这个例外:

Exception in thread "main" java.lang.FileNotFoundException: C:\test.txt (Access Denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at fileFinder.main(fileFinder.java:14)

更新II - 9月10日:

以上异常(更新I)因权利而被提出。该程序使用目录 C:\ Users \ username \ Desktop

正确运行

1 个答案:

答案 0 :(得分:0)

Windows通常需要管理员权限才能访问C:的根目录。你可以试着写你的桌面文件夹吗?然后路径为C:\Users\<user>\Desktop\test.txt