【发布时间】:2012-11-29 15:02:41
【问题描述】:
所以我一直在尝试为我的朋友编写一个 Bukkit 插件,但由于某种原因,配置生成无法正常工作。有问题的代码如下,我很乐意添加人们需要帮助我解决这个问题的任何代码。当我运行程序时,创建的配置文件最终是空白的。测试文件很好(我通过简单地注释掉删除文件的行来测试它)但是一旦我尝试获取多行它就会失败。有人可以帮忙吗?
PrintWriter out = new PrintWriter(new FileWriter(config));
out.println("########################################");
out.println("# hPlugin is written by newbiedoodle #");
out.println("########################################");
out.println("# ----- Plugin config file ----- #");
out.println("########################################");
out.println("NOTE: Do not edit the config file besides changing the values - it may result in errors.");
out.println("--------------");
out.println("Strikes before being banned?");
out.println("3");
out.println("Godmode?");
out.println("true");
out.println("First time running the plugin?");
out.println("true");
out.println("Curse protection?");
out.println("true");
out.println("Emergency shelter?");
out.println("true");
out.println("Path building?");
out.println("true");
out.println("Blocked words/phrases (Separate with comma)");
out.println("[censored]");
out.close();
System.out.println("Successfully wrote defaults to config");
整个事情都包含在一个 try/catch 循环中,只是为了捕捉可能弹出的任何错误。我感觉我遗漏了一些非常明显的东西,但我找不到它是什么。
config是一个File对象,具有它需要的路径,所以我认为不是这样-
我让程序单独执行几乎所有操作,这样我就可以准确地告诉用户发生错误的位置,因此文件是在
李>try/catch之外创建的。
【问题讨论】:
-
执行
flush和close应该可以正常工作。 -
尝试在 out.close() 之前添加一个 out.flush() 调用。我不记得
PrintWriter的close方法是否为你调用了flush。 -
本例中的变量“config”是什么?你是否设置正确如 String config = "c:\\config.txt"
-
变量“config”是一个文件对象。它有我需要的路径。我最终要做的就是将 out.flush() 添加到最后,现在它可以正常工作了。不过谢谢!
标签: java printwriter bukkit