编译期间将Java文件保存在包中

编译期间将Java文件保存在包中,java,eclipse,packages,buildpath,Java,Eclipse,Packages,Buildpath,在我的Java类中,我想输出同一项目的另一个(未编译)Java类的代码。这是包结构: main (package) files (package) SampleClass.java SampleFile.txt CodeOutput.java 以及CodeOutput.java的代码: public class CodeOutput { public void run() { InputStream in = getClass().getR

在我的Java类中,我想输出同一项目的另一个(未编译)Java类的代码。这是包结构:

main (package)
   files (package)
      SampleClass.java
      SampleFile.txt
CodeOutput.java
以及
CodeOutput.java
的代码:

public class CodeOutput {
    public void run() {
        InputStream in = getClass().getResourceAsStream("files/SampleClass.java");
        BufferedReader stream = new BufferedReader(new InputStreamReader(in));

        try {
            System.out.println(stream.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new CodeOutput().run();
    }
}
我尝试从
files
包中加载文件
SampleClass.java
,并输出其第一行。但是,Java文件在编译后不会保留在包中。我还尝试从构建路径中排除该文件(在文件的上下文菜单中:build path->exclude),因此代码不会编译为
.class
文件,但Java文件仍然不会出现在包中。它可以与
SampleFile.txt
配合使用,因此我确信它与项目/构建路径设置有关


如何像对待包中的其他资源一样对待Java文件?Eclipse将在
src/main/Java
下编译所有.Java文件。如果不希望编译java文件,请将其保存在
/src/main/resources
下。此外,如果您使用maven构建源代码,您可以轻松地将源代码包含在jar文件中

在java源代码外部创建一个新目录,并将该目录添加到类路径中。您可以在该目录下创建相同的包结构。因此,CodeOutput将是一个可编译的java类,但在类路径的新目录下添加的所有文件都不会


如果您不想这样做,则无法以您现在尝试访问源文件的方式访问源文件。

是否要包括所有文件的源文件?您可以将
src/main/java
声明为资源目录(至少在使用GWT时必须这样做)。不是项目中的所有文件,而是包(及其子包)中的所有文件都可以。如何将它们声明为资源目录?您如何构建它?使用Maven很容易(我认为Gradle也是如此),但我不知道如何在Eclipse中手动处理它,只是简单的Eclipse。不幸的是,我不能使用其他任何东西。我的项目中没有
src/main/java
文件夹。它只是一个
src
文件夹,包含上面列出的包和文件。我遗漏了什么吗?哦,我不使用Maven。好吧,那可能有用。但是如何将新文件夹添加到类路径中呢?在eclipse中创建一个目录。。在项目上单击鼠标右键转到属性。。在类路径中选择文件夹并添加到类路径中