我想问一下是否有可能将文本文件放入我的jar中,我用它们在我的游戏中制作我的地图,但是用户可以获得Highscores。现在我想用地图保存Highscores,所以我必须将地图保存在用户的PC上。有什么方法可以做到这一点吗?我在互联网上搜索了一些想法,但我找不到任何甚至接近我想要的东西。我只有一年的3/4,所以我对这些事情知之甚少,在eclipse调试之外发生的一切对我来说都是问题(文件主要是其中之一,null异常等)。
现在的主要问题。
有可能吗?如果是,您是否有我可以搜索的任何术语,或某些网站/指南/教程?如果不是,还有其他方法可以保存高分吗?
编辑: 明确
我可以将文本文件(文件中的文本)提取到不同的文件中,就像我的游戏的主目录(我保存设置和内容)一样,基本地图都在jar文件中,所以我想让它们在程序的第一次启动时被提取出来
问候Carolien
答案 0 :(得分:1)
“提取到我的游戏的主目录中的不同文件(我保存设置和东西),基本地图在jar文件中,所以我希望它们在程序的第一次启动时被提取”
您可以使用getClass().getResource()
URL url = getClass().getResource("/res/myfile.txt");
然后从URL的
创建一个File对象File file = new File(url.toURI());
然后只执行正常的文件操作。
if (file.renameTo(new File(System.getProperty("user.home") + "\\" + file.getName()))) {
System.out.println("File is moved successful!");
} else {
System.out.println("File is failed to move!");
}
假设您的文件结构如下所示,它应该可以正常工作
ProjectRoot
src
res
myfile.txt
注意:上面是移动整个文件。如果您只想提取文件中的数据,那么您可以简单地使用
InputStream is = getClass().getResourceAsStream("/res/myfile.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
使用reader
进行正常的IO操作。有关编写文件的帮助,请参阅here。