寻找Eclipse项目的默认根文件夹

3

我正在按照以下方式读取文件:

File imgLoc = new File("Player.gif");

BufferedImage image = null;

try {
    image = ImageIO.read(imgLoc);
}
catch(Exception ex)
{
    System.out.println("Image read error");
    System.exit(1);
}

return image;

我不知道在哪里放置我的文件才能让Eclipse IDE,在运行代码时,我的项目可以检测到它。

有没有更好的方法从存储在您的项目目录中的图像文件创建BufferedImage?

5个回答

4

请看Class.getResource和Class.getResourceAsStream的注释。它们可能是你真正想要使用的,因为无论你是从Eclipse项目目录中运行还是在打包好的JAR文件中运行,它们都能正常工作。

你可以按照以下方式使用它们:

InputStream in = MyClass.class.getResourceAsStream("Player.gif");

在这种情况下,Java会在MyClass.class文件旁边查找文件“Player.gif”。也就是说,如果完整的包/类名为“com.package.MyClass”,那么Java将在“[project]/bin/com/package/Player.gif”中查找文件。getResourceAsStream的注释表明,如果您以斜杠开头,即“/Player.gif”,那么它将在根目录(即“bin”目录)中查找。
请注意,您可以将文件放入“src”目录中,Eclipse会在构建时自动将其复制到“bin”目录中。

3

根据我的经验,默认情况下似乎是包含项目目录,但有一种简单的方法可以找出:

System.out.println(new File(".").getAbsolutePath());

这将打印出Eclipse安装根路径。 - supermus

3
在运行对话框中,您可以选择目录。默认情况下是项目根目录。

1

您是想为 Eclipse 编写插件还是一个普通项目呢?

如果是后者,那不取决于程序最终安装和执行的位置吗?

在尝试并通过 Eclipse 运行时,我猜它会在项目工作区中找到该文件。您可以打开项目的属性对话框,在“资源”条目下查找以了解情况。

此外,您还可以使用“导入”菜单选项向项目添加资源。


0

Eclipse 项目的默认根文件夹也是该应用程序的相对路径。

以下是我在我的 Eclipse 4.8.0Java 1.8 项目中使用的步骤。

I - 将要与之交互的文件放置在项目的 BIN 和 SRS 文件夹中,而不是其中一个文件夹中。

II - 在您的 main() 方法中实现下面的代码。

public static void main(String [] args) throws IOException  {
    
FileReader myFileReader;
BufferedReader myReaderHelper;
    
try {
    
String localDir = System.getProperty("user.dir");
myFileReader = new FileReader(localDir + "\\yourFile.fileExtension");
myReaderHelper = new BufferedReader(myFileReader);

if (myReaderHelper.readLine() != null)  {
    
StringTokenizer myTokens =
    new StringTokenizer((String)myReaderHelper.readLine(), "," );
    System.out.println(myTokens.nextToken().toString()); // - reading first item
}
} catch (FileNotFoundException myFileException) {
    myFileException.printStackTrace();  }     } // End of main()

第三步 - 如果您的逻辑要求,实现一个循环来迭代遍历文件中的元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接