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

如何在Java中打开Netbeans空文件/,java,netbeans,Java,Netbeans,以下是我的Netbeans项目结构: Maine是具有main的类。我想用Scanner对象读取Netbeans“empty file”HighlightInput中的文本行,但我不知道怎么做 由于适用于不同项目的内容(见下文),我尝试了以下方法(以及许多其他方法): 线程“AWT-EventQueue-0”java.security.PrivilegedActionException:java.lang.ClassNotFoundException:gbl/Maine中的异常 因为下面还有一

以下是我的Netbeans项目结构:

Maine
是具有
main
的类。我想用
Scanner
对象读取Netbeans“empty file”
HighlightInput
中的文本行,但我不知道怎么做

由于适用于不同项目的内容(见下文),我尝试了以下方法(以及许多其他方法):

线程“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
contains
main
)的工作原理,该项目的结构如下所示,用于读取名为“Help”的Netbeans文件:

以下内容用于读取名为“dictionary”的文件:

资源不是文件,但可能位于
.jar
中。在同一jar/same classes目录中,可以使用类似于
getClass().getResource(…)
的内容。这是相对于classes包目录的,因此“/Highlight”对应于根目录,也就是默认包

扫描仪可以立即处理该输入流。需要指示字符集编码,否则本地操作系统编码将被采用-不可移植


如果您想写入资源文件:不要——因为通常情况下,将.jar编译为分布式应用程序。在这种情况下,将资源用作模板,并将其复制到用户主目录中的某个目录。

谢谢,@Joop。你写的很好。这是我遇到的最困难的任务之一。Netbeans帮助没有。但是你能告诉我如何修复这行代码吗:
myStream=Class.forName(“gbl/Maine”)。getClassLoader()。getResourceAsStream(“/HighlightInput”)。我不知道Netbeans目录结构到底是什么,也不知道使用什么类名。我想知道为什么;否则,这将是一个永久性的问题。如果有时间,请尝试
Class.forName(“gbl.Maine”).getClassLoader()。getResourceAsStream(“HighlightInput”)。使用getClassLoader时没有标题
/
。我发誓我试过了--我试过十几次置换--但是谢谢你,它确实奏效了。斜线vs.点;斜杠vs.没有字符。我认为流名称前缀中不需要斜杠是阻止我获得它的原因。谢谢你,@Joop!
  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)
  myStream =  Class.forName("masterwords.Masterwords").getClassLoader()
      .getResourceAsStream("Help"); 
File file = new File("src/dictionary");
Path in_path = file.toPath();
    InputStream myStream = Maine.class.getResourceAsStream("/HighlightInput");
    Scanner sc = new Scanner(myStream, "UTF-8");