- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 Netbeans 项目结构:
Maine
是带有 main
的类。我想使用 Scanner
对象读取 Netbeans“空文件”HighlightInput
中的文本行,但我不知道如何执行此操作。
由于什么适用于不同的项目(见下文),我尝试了这个(以及很多其他的事情):
InputStream myStream = null;
myStream = Class.forName("gbl/Maine").getClassLoader() //// exception here
.getResourceAsStream("HighlightInput");
Path p = Paths.get(myStream.toString());
Scanner sc = new Scanner(p);
线程“AWT-EventQueue-0”中的异常 java.security.PrivilegedActionException:java.lang.ClassNotFoundException:gbl/Maine
由于其他东西在下面也有效,我尝试了这个:
File file = new File("src/HighlightInput");
Scanner sc = new Scanner(file); //// exception here
Exception in thread "AWT-EventQueue-0" java.security.PrivilegedActionException: java.io.FileNotFoundException: src\HighlightInput (The system cannot find the path specified)
如何读取文件“HighlightInput”?
==========================
这就是我尝试这样做的原因——我遵循了两种不同的明显模式,但没有成功:
以下是适用于不同项目(Masterwords
包含 main
)的方法,结构如下,用于读取名为“Help”的 Netbeans 文件:
myStream = Class.forName("masterwords.Masterwords").getClassLoader()
.getResourceAsStream("Help");
以下工作可读取名为“dictionary”的文件:
File file = new File("src/dictionary");
Path in_path = file.toPath();
最佳答案
InputStream myStream = Maine.class.getResourceAsStream("/HighlightInput");
Scanner sc = new Scanner(myStream, "UTF-8");
资源不是文件,但可能驻留在 .jar
中。在相同的 jar/相同的类目录中,您可以使用类似 getClass().getResource(...)
的内容。这是相对于类包目录的,因此“/Highlight”对应于根目录,也称为默认包。
扫描器可以立即处理该输入流。需要指示字符集编码,否则将采用本地操作系统编码 - 不可移植。
如果您想写入资源文件:不要这样做 - 因为正常情况下会编译为 .jar 作为分布式应用程序。使用这种情况下的资源作为模板并将其复制到用户主目录中的某个目录。
关于java - 如何在 Java/中打开 Netbeans 空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280162/
我是一名优秀的程序员,十分优秀!