Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用项目&x27;s将自己的.java文件作为资源文件_Java_Eclipse_Resources - Fatal编程技术网

使用项目&x27;s将自己的.java文件作为资源文件

使用项目&x27;s将自己的.java文件作为资源文件,java,eclipse,resources,Java,Eclipse,Resources,我用Java编写了一个小程序,用gui显示其.Java源代码。它不使用FileChooser来执行此操作。我在以下语句的帮助下阅读.java源代码 String resName = "/dev/classes/"+name+".java" Scanner s = new Scanner(FilePrinter.class.getResourceAsStream(resName)); 其中,name是.java文件的名称,即如果文件是MyProg.java,则name==MyProg。当然,我的

我用Java编写了一个小程序,用gui显示其.Java源代码。它不使用FileChooser来执行此操作。我在以下语句的帮助下阅读.java源代码

String resName = "/dev/classes/"+name+".java"
Scanner s = new Scanner(FilePrinter.class.getResourceAsStream(resName));
其中,
name
是.java文件的名称,即如果文件是
MyProg.java
,则
name==MyProg
。当然,我的程序在
dev.classes
包中

问题是,当我将我的项目导出到JAR并包含源文件时,这是有效的,因为源文件位于
/dev/classes/
目录中

然而,我还没有找到一种方法,可以让我的程序在Eclipse中运行,或者从命令行运行,而不给我异常

当然,当有人试图添加这些源文件以自动用作资源文件时,该过程将失败


从Eclipse和JAR运行时,我是否可以使用相同的代码?这一定是一件非常琐碎的事情,但因为我不是Java专家,所以我看不见。

我找到了如何做到这一点。实际上,您要么使用Ant,要么使用Maven。但是,这可以在Eclipse中完成,如下所示:

在Eclipse项目属性>Java构建路径中,您可以在底部的默认输出文件夹中选择:
/src

这将导致类文件与.java文件在同一目录中编译,并最终实现我想要的功能


感谢@AndrewThompson建议尝试这个

,这只是确保源代码在Eclipse制作的Jar中的问题。如果是的话,它会起作用的。谢谢你,安德鲁·汤普森。我已经确保它在jar中工作,但在直接从Eclipse运行时不能。正如您所理解的,它不像一个普通的.txt文件。Eclipse不会将.java文件复制到/bin/目录!“它不像一个普通的.txt文件。”Java源代码通常是一种特定的编码,扩展名不同,虽然它里面有“Java代码”,但它非常像计算机(或软件)的文本文件。不是完全重复的,但可能有助于@YannisP。不确定,但相信使用eclipse的默认值(我认为您可以选择让source&class位于同一路径)或编写Ant构建文件就可以做到这一点。