Mar*_*boe 3 java jar distribution
我试图在我的runnable .jar文件中包含一些文本文件作为资源.以下代码应该打印一个文件的内容:
URI resourceFile = Driver.class.getResource("/etc/inputfile.txt").toURI();
System.out.println("Opening URI: " + resourceFile.toString());
File infile = new File(resourceFile);
Scanner sc = new Scanner(infile);
while (sc.hasNextLine())
System.out.println(sc.nextLine());
sc.close();
Run Code Online (Sandbox Code Playgroud)
导出为可运行的jar后,运行时得到以下输出:
打开URI:rsrc:etc/inputfile.txt
java.lang.IllegalArgumentException:URI在java.io.File中不是分层的.(File.java:363)
如果我使用getResourceAsStream,可以毫无问题地打印文件,但出于其他原因我想使用File对象.
我该如何解决这个问题?
谢谢,
马丁
URI仅表示方案时的"文件" file:.并且构造函数File(URI)在此清楚.您不能将jar中的压缩文件视为File,因为......它不是Java认为的File:读取File类所代表的定义:
文件和目录路径名的抽象表示.
getResourceAsStream()正如你所说,阅读的方式是.
| 归档时间: |
|
| 查看次数: |
3568 次 |
| 最近记录: |