【发布时间】:2018-04-19 07:24:52
【问题描述】:
我正在尝试从 Java 代码中读取 javascript 文件内容。这是我的代码:
String javascript = "";
URL url = getClass().getResource("/elementController.js");
System.out.println(url.toString());
try {
Scanner sc = new Scanner(new File(url.getPath()));
while (sc.hasNext()) {
javascript += sc.nextLine() + "\n";
}
sc.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println 打印以下内容: 文件:/C:/Users/J%c3%bcesse/IdeaProjects/JavaFxProject/target/classes/elementController.js
由于此代码执行,我得到以下堆栈跟踪:
java.io.FileNotFoundException: C:\Users\J%c3%bcesse\IdeaProjects\ThesisProject\target\classes\elementController.js (The system cannot find the path specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at gui.WebViewWindow$MyBrowser.<init>(WebViewWindow.java:82)
at gui.WebViewWindow.display(WebViewWindow.java:58)
但是当我转到 javascript 文件所在的目录时,我可以看到它就在那里。目录图片:
我不知道为什么会出现此错误,即使该文件存在于那里。 有什么建议吗?
【问题讨论】:
-
尝试完整路径
-
你不能仅仅因为你有一个名为
String的String将这个问题标记为javascript ;) -
其标记为 java,
-
URL 不是文件名,资源也不是文件。使用 URL 的输入流。
-
@SyedBaryalay 我编辑了帖子并修复了它:P