【发布时间】:2018-12-31 01:33:06
【问题描述】:
我正在用 java 构建一个游戏,当我在 intellij idea 中运行它时一切正常,没有错误。
当我将项目构建为 jar 文件时,问题就开始了。
我有这个方法:
public void addImageOfObject(String add, String dir, ArrayList<ImageIcon> linkedList, Dimension size) {
Image image;
String dirc;
File file = null;
try {
file = new File(classLoader.getResource(dir).getFile());
} catch (Exception e) {
JOptionPane.showMessageDialog(StaticVariables.mainClass, e.getStackTrace());
}
try {
for (int i = 0; file.listFiles().length > i; i++) {
try {
dirc = dir + i + ".png";
image = loadImage(dirc);
linkedList.add(new ImageIcon(image.getScaledInstance(size.width, size.height, 4)));
} catch (Exception e) {
JOptionPane.showMessageDialog(StaticVariables.mainClass, e.getStackTrace());
e.printStackTrace();
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(StaticVariables.mainClass, e.getStackTrace());
JOptionPane.showMessageDialog(StaticVariables.mainClass, "file not found ");
}
}
这是类加载器:
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
我无法获得文件的正确路径..当我在 jar 文件中运行它时,它会给出一个错误文件:
file = new File(classLoader.getResource(dir).getFile());
我用这一行调用方法:
imageLoader.addImageOfObject("src/main/java/","ImageHandel/Photos/character/male/attack/down/",aMale,new Dimension(500,400));
这是文件的路径
我要获取的文件数file.listFiles()
在男性文件夹中有 44 个文件..这是我想要获得的数字以便在 44 次循环上运行,我只是找不到正确的方法!我尝试了很多东西,但没有任何帮助..
有什么问题吗?
【问题讨论】:
标签: java file intellij-idea jar