0

基本上我有这两个页面......每个页面都有一个我通过 minecraft bukkit 插件获得的字符串。我需要知道是否可以使用 java 方法更改位于 Web 服务器上的 index.php 文件中的字符串。基本上,我每次发布插件更新时都懒得编辑文件。要获得有关我在说什么的更多信息.... http://updates.milkycraft.net/ - 版本。我的插件的源代码可以在http://github.com/milkywayz/entitymanager/找到。我可能只想用 swing 创建一个单独的 java 应用程序并让它更新值。两个字符串的 index.php 文件都非常简单,我只是声明了一个字符串变量然后回显它。

4

2 回答 2

2

当然,您可以更改 PHP 文件,但这不是最好的解决方案——它真的很容易出错。还有另一种选择:以众所周知的格式(XML、JSON、YAML、INI 等)将数据写入单独的文件,然后让 PHP 脚本读取它。

Map<String, String> data = new HashMap<String, String>();
data.put("a", "value a");
data.put("b", "value b");
data.put("c", "value c");

// Convert a Map to JSON using GSON:
String data = new Gson().toJson(data);

// Write data to the file:
BufferedWriter writer = null;

try {
    writer = new BufferedWriter(new FileWriter("/path/to/file"));
    writer.write(data);
    writer.flush();
} catch ( ... ) {
   ...
} finally {
    if (writer != null) {
        writer.close();
    }
}

// Read the data
$data = json_decode(file_get_contents('/path/to/file'));

print_r($data);
于 2012-06-14T07:03:07.660 回答
0

当然可以。

您可以采取不同的方法

  • 有一个 index.template ,您可以在其中放置一个占位符,例如在 java 中打开该文件,将 替换为您的值并将其保存为 index.php

  • 或者您可以将 index.php 中的字符串用 mystring 之类的内容括起来然后打开 index.php 并替换 START/END replace 之间的内容

安德烈

于 2012-06-14T06:51:01.173 回答