如何使用" java.nio.file.Paths"检索本地文件?对于java 7或任何其他API。我有这行代码,但它返回错误的目录格式。
public static InputStream readfile(String filename) throws FileNotFoundException
{
persistenceService = (PersistenceService) ServiceManager.lookup(PersistenceService.class.getCanonicalName());
URL url = Paths.get(filename).toUri().toURL();
FileContents fileContents = persistenceService.get(url);
打印网址时的结果是:
file:/C:/Users/username/Desktop/filedirectory/filename
原定于:
file:C:/Users/username/Desktop/filedirectory/filename
如何摆脱第一个/
或这是一个错误的方法?
在Windows资源管理器中复制了两个URL,第一个打开网页但无法显示,第二个打开我需要的文件。
答案 0 :(得分:0)
如果要获取本地文件的内容,则不需要使用PersistenceService,只需使用java.nio.file.Files
类:
Path path = FileSystems.getDefault().getPath(filename);
List<String> lines = Files.readAllLines(path, charset);
如果您想使用javax.jnlp.PersistenceService,请阅读http://docs.oracle.com/javase/7/docs/jre/api/javaws/jnlp/javax/jnlp/PersistenceService.html上的文档:
只允许应用程序访问使用基于其代码库的URL存储的数据。例如,给定代码库http://www.mysite.com/apps/App1/,将允许应用程序访问相关URL的数据:
http://www.mysite.com/apps/App1/
http://www.mysite.com/apps/
http://www.mysite.com/
所以似乎不会使用以file:
开头的网址。