0

我检查了很多类似的问题,但到目前为止我对解决方案不满意。

曾经使用过 Minecraft 服务器吗?在初始启动时,它会创建它需要的所有文件和文件夹,并允许您通过使它们位于可执行 jar 文件的外部来对 Server.properties 和 ops.txt 等文件进行更改。

我正在做一个类似的项目,我想复制这种行为。当我在 Eclipse 中运行它时,一切都很好。但是,当我导出到 jar 文件时,事情变得很奇怪。外部文件和文件夹的创建很顺利,但事后看来,它们似乎无法读取或写入。任何想法 Notch 如何制作他的服务器?

--edit-- 从头开始​​,它甚至似乎不能可靠地创建文件和文件夹。也许它只会在创建后的第一次运行中创建它们?

--edit again-- 它在根目录中创建它们。当我在eclipse中测试它时,根目录被限制在包含项目的文件夹中,因此看起来很好。解决方案是让类知道它的位置,并将其包含在所有文件操作中。

4

1 回答 1

1

让可执行 jar 文件中的主类查找它的位置,然后让它将该信息存储在全局字符串或其他东西中。在文件操作中使用该字符串为文件名添加前缀,瞧!它正在写入正确的目录。

于 2012-08-27T02:25:48.003 回答