【问题标题】:How do I change IDEA's build folder from TEMP to something else?如何将 IDEA 的构建文件夹从 TEMP 更改为其他内容?
【发布时间】:2013-01-27 23:06:07
【问题描述】:

我正在尝试运行:

import java.applet.Applet;
import java.awt.*;
import java.net.URL;

public class img extends Applet
{
    private Image img;
    public void init()
    {
        img = null;
    }
    public void loadImage()
    {
        try
        {
            img = getImage(getCodeBase(), "winter.jpg");
            System.out.println(img);
            System.out.println(prepareImage(img, 300, 400, this));
        }
        catch(Exception e){}

        System.out.println(getDocumentBase());
    }
    public void paint(Graphics g)
    {
        if (img == null)
            loadImage();
        g.drawImage(img, 0, 0, this);
    }
}

但它找不到winter.jpg,除非它位于:file:/C:/Users/Admin/AppData/Local/Temp/

System.out.println(getDocumentBase());返回: 文件:/C:/Users/Admin/AppData/Local/Temp/AppletPage1228891259548967526.html 代替: C:/Users/Admin/Dropbox/dev/idea/Exam3/out/production/Exam3/(.class文件所在的位置)

我正在使用 IntelliJ IDEA 12。

我只想将我的 JPEG 文件放在 Exam3 文件夹而不是 Temp 文件夹中。有什么想法吗?

【问题讨论】:

    标签: java applet


    【解决方案1】:

    使用 getDocumentBase() 加载资源的一种解决方法,您可以使用类的 getResource 获取 URL,该类获取相对于该类的资源。

    URL base = img.class.getResource("/data/winter.jpg");
    Image img = ImageIO.read(base);
    

    在您的案例中,data 是 Exam3 文件夹中的一个文件夹,其中包含此类文件。

    【讨论】:

    • 非常好。我更喜欢将资源保留在我的 src 中。为此,您还可以执行 this.getClass() 并将 getResource 应用于该
    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多