使用路径java 7检索本地文件

时间:2014-04-04 14:29:27

标签: java path java-7 java.nio.file

如何使用" 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,第一个打开网页但无法显示,第二个打开我需要的文件。

1 个答案:

答案 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:开头的网址。