抱歉,如果这似乎是一个基本问题,但我似乎找不到任何答案。
我有一些在 Windows 上运行良好的 java 代码。在其中,我有一行说:
File dir = new File("F:\\some\\files\\here");
我在 Linux 上的远程服务器上运行此代码,但现在它给我带来了问题。因为我不知道驱动器名称是什么,所以我将行更改为以下内容(我认为这在 Linux 上不重要?):
File dir = new File("\\some\\files\\here");
这条线没有错误,但后来,我打电话
File[] data = dir.listFiles();
在我的 Windows 代码上这工作正常,但在 Linux 上它返回一个空对象。我进一步研究了一下,似乎我的原始代码没有让我回到 Linux 中的目录。
dir.isDirectory()
返回false
Linux 代码。
有谁知道可能是什么问题?我也尝试过使用 / 而不是 \ 但同样的问题。
一些附加信息:
我可以访问 dir 方法的任何部分,除了 listFiles() 或 list()。我尝试过的一件事是做 dir.getParent().listFiles()[0]。getParent() 无论如何都应该给我一个目录,但是 listFiles() 调用再次给了我一个空对象,它还告诉我 getParent() 的结果是一个文件,而不是一个目录。