Tag: 资源输入

在可运行的jar中加载和保存资源?

可能重复: Java程序如何使用.jar中的文件进行读写? 我正在创建一个游戏,我希望所有这些都在runnable jar文件上运行,所以我的所有资源(图像和文本文件)都将在jar文件中。 我遇到的问题是,处理jar中的文件非常困难。 我正在使用eclipse,它有时会对你起作用,因为如果你从eclipse运行它会找到文件,但如果你导出它就不会。 我只是想知道揭露一些事情的正确方法: 我需要能够加载图像(我已经工作了,不知何故。我有点修补它并且意外地做了,所以我不知道它是如何工作的) 我需要能够从文本文件中读取(我也有这个工作,再次,偶然和猜测几个小时。) 我需要能够写入存在且存在于jar中的文本文件。 这就是让我觉得我做错了。 我想要做的就是能够保存某些设置,以便它们在下次加载时工作,而且我不知道如何写入文件。 在eclipse(Indigo)中,我创建了一个名为“resources”的文件夹,并将其标记为源文件夹。 我把所有的图像和文本文件放在那里。 我读了这样的图像: public static Image ammo = new ImageIcon(TankMazeGame.class.getResource(“ammo.png”)).getImage(); 我读了这样的文本文件: InputStream is = TankMazeRunner.class.getClassLoader().getResourceAsStream(“Settings.txt”); Scanner settingsReader = new Scanner(new InputStreamReader(is)); 我正在写这样的设置文件,但它并没有真正起作用,所以这就是我需要帮助的地方。 File settingsFile = new File(DisplayMenu.class.getClassLoader().getResource(“Settings.txt”).getFile()); try { OutputStream os = new FileOutputStream(settingsFile, true); PrintWriter pw = new PrintWriter(os, true); pw.write(“SIZE: ” […]