gpt4 book ai didi

java - 如何在 Java/中打开 Netbeans 空文件

转载 作者:行者123 更新时间:2023-12-02 05:53:58 24 4
gpt4 key购买 nike

这是我的 Netbeans 项目结构:

enter image description here

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");

enter image description here

以下工作可读取名为“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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com