Dan*_*sek 12 java file classpath
我有一个包含在类路径中的目录中的文件.看起来像这样pl/shenlon/io/gui/appData/file.txt
.现在,当我尝试将其转换为文件并使用以下代码阅读时:
File cityNamesFile = new File(ClassLoader.getSystemResource("pl/shenlon/io/gui/appData/list.txt").toURI());
Scanner cns = new Scanner(cityNamesFile);
Run Code Online (Sandbox Code Playgroud)
我得到以下内容: -
error - java.lang.IllegalArgumentException: URI is not hierarchical.
我该如何解决这个问题?
如果您的调用类本身与文本文件位于同一个包中,只需使用:
InputStream is = getClass().getResourceAsStream("list.txt");
Scanner cns = new Scanner(is);
Run Code Online (Sandbox Code Playgroud)
更换
File cityNamesFile = new File(ClassLoader.getSystemResource("pl/shenlon/io/gui/appData/list.txt").toURI());
Run Code Online (Sandbox Code Playgroud)
同
File cityNamesFile = new File(Thread.currentThread().getContextClassLoader().getResource("pl/shenlon/io/gui/appData/list.txt").getFile());
Run Code Online (Sandbox Code Playgroud)