我注意到了一个小问题。我的应用程序获取的是文件的URI,例如file:///C:/temp/somefolder/somedocument.txt
为字符串。
我的应用程序要做的是检查文件夹中是否有更多文件并进行处理。要做到这一点,我通常会做类似
的事情File file = new File(myURI);
File folder = file.getParentFile();
File[] peers = folder.getParentFile().listFiles();
不幸的是,当您使用URI时,这似乎根本不起作用。 .listFiles
始终返回null,即使我打开文件夹URI的File()
句柄。
如何解决这个问题?
P.S。:File
或java.net.URI
的所有方法都不会返回绝对路径,而不是URI;)
答案 0 :(得分:1)
您的myURI
实际上是String
的{{1}}代表。您正在调用的URI
的构造函数是
File
注意public File(String pathname)
位,它不是URI-ish值。
尝试
pathname
答案 1 :(得分:0)
尝试:
File file = new File(myURI);
File[] peers = new File(file.getParent()).listFiles();
这对我有用。但是,如果我使用你的代码,当我调用getParentFile()
时,我会得到一个NPE