Minecraft如何使用他们的lang文件?

时间:2014-04-30 08:25:01

标签: java io

我一直很着迷于他们是如何做到的,所以我会知道怎么做。

Minecraft使用的示例lang文件如下所示:

options.stream.chat.enabled.streaming=Whilst Streaming
options.stream.chat.enabled.always=Always
options.stream.chat.enabled.never=Never
options.stream.chat.userFilter=User Filter
options.stream.chat.userFilter.all=All Viewers
options.stream.chat.userFilter.subs=Subscribers
options.stream.chat.userFilter.mods=Moderators
title.oldgl1=Old graphics card detected; this may prevent you from
title.oldgl2=playing in the future as OpenGL 2.0 will be required.
controls.title=Controls
controls.reset=Reset
controls.resetAll=Reset Keys
key.sprint=Sprint
key.forward=Walk Forwards
key.left=Strafe Left
key.back=Walk Backwards
key.right=Strafe Right
key.jump=Jump
key.inventory=Inventory

我要问的是,我将如何明智地执行此代码?说,如果我'搜索'key.right,我怎么能得到等号右边的内容?我怎么能首先在文件中搜索该字符串?

感谢任何帮助,因为这似乎是用于制作配置类型文件的非常有用的东西。

由于

2 个答案:

答案 0 :(得分:2)

这是使用Properties在Java中存储某些设置的默认方式。这只是一个HashTable,它可以用于获取一些属性,它可以通过这种方式从文件初始化:

Properties settings = new Properties();
settings.load(inputStream);

inputStream可以通过以下方式加载:

InputStream inputStream = new FileInputStream(fileName);

答案 1 :(得分:0)

属性确实是整体的一部分;实际的整体是一个被遗忘的术语“i18n”,这是国际化的简称。

http://docs.oracle.com/javase/tutorial/i18n/

毫不奇怪,Java包含处理它的机制,而Minecraft可能会利用它。当然我不是Minecraft开发者所以我只能猜测。