制作一个相对于jar的静态路径?

时间:2014-05-12 23:01:21

标签: java

我在处理一个小程序时遇到了一些麻烦。它只是将桌面图片更改为其他内容。但我不能做这样的事情:

   static File aFile = new file.getClass().getResource(name)

相反,我使用它:

   static File aFile = new File("/Library/Application Support/Adobe/Adobe PCD/cache/SOURCE CODES/troller/Troller/src/1.jpg");

我希望程序的图像放在桌面上,可以在jar文件中找到,但我只能说图像的位置是完整的文件路径。 (我认为它叫做绝对路径)那么如何让文件在编译jar的任何地方找到图像。 (假设图像在程序的罐子里。)可能是我做错了一切都是静态的。这是整个程序:

import java.io.File;

public class Main {
static File aFile = new File("/Library/Application Support/Adobe/Adobe PCD/cache/SOURCE CODES/troller/Troller/src/1.jpg");
static Main troll = new Main();
public static void main(String[] args) {
    try {
        setWallpaper(aFile);
    } catch (Exception e) {
        System.out.println("Execption lel");
        e.printStackTrace();
    }
}
 public static void setWallpaper(File file) throws Exception
    {
        String as[] = new String[]
        {
            "osascript",
                "-e", "tell application \"Finder\"",
                "-e", "set desktop picture to POSIX file \"" + file.getAbsolutePath() + "\"",           
                "-e", "end tell"
        };
        Runtime runtime = Runtime.getRuntime();
        Process process;
        process = runtime.exec(as);
        System.out.println("Test");
    }
}

提前致谢。

0 个答案:

没有答案