访问工作区外的文件夹

Acessing folders outside the workspace

我一直在寻找这个问题的答案,但没有成功。 我正在尝试将 csv 文件加载到我的程序中以便稍后使用它们,但我遇到了以下问题。 当我尝试使用绝对路径直接从它们存储在我计算机上的位置访问它们时:

File folder = new File("C:/Users/trybu/Desktop/AppData");

    File[] listOfFiles = folder.listFiles();

    int filesNo = listOfFiles.length; //and so

只有当我将所有这些文件复制到我的项目工作区(我使用的是 Eclipse)时它才有效。 但是当我更改路径名或将文件(在项目内)移动到另一个目录时,将不再读取文件。我觉得真的很奇怪。有人可以向我解释一下并帮助我找到解决方案吗?谢谢!

首先你需要使用正确的路径,在你的代码中它看起来像是 Windows 和 Unix 格式的组合,但我不是 Windows 路径格式的专家

在处理路径和标准文件夹(如用户主文件夹)时更好,您可以使用系统 属性 来获取该路径。下面的代码列出了用户桌面

中(上)的所有文件和文件夹
String homeDir = System.getProperty("user.home");

File desktop = new File(homeDir, "Desktop");

File[] fileList = desktop.listFiles();

for (File file : fileList) {
    System.out.println(file.getName());
}

这是在 Mac 上编写和测试的,但在 Windows 上同样有效。有关系统的更多信息 属性 here