Java Random Access File奇怪的字符

时间:2016-07-28 03:03:57

标签: java file randomaccessfile

所以我使用以下代码用Java写入文件,文本打印正常,但字母之间有奇怪的字符。

public static void foo() throws IOException{
    static RandomAccessFile configFile;
    configFile.writeChars("#Minecraft server properties");
    configFile.close();
}

Image

我正在寻找答案,并且所有内容都指向了writeUTF()的错误使用,所以我决定尝试这样做而不是半问题,但我仍然在该行的开头有这个字符。

public static void foo() throws IOException{
    static RandomAccessFile configFile;
    configFile.writeUTF("#Minecraft server properties");
    configFile.close();
}

Image

我的问题是:这是什么炭? Vim将其显示为@,我该怎么做才能删除它?

2 个答案:

答案 0 :(得分:0)

该char与您正在创建的文件的编码有关。

请尝试使用以下代码:

public static void createConfigFile() throws IOException {
    FileWriter writer = new FileWriter("PATH_TO_YOUR_CONFIG_FILE", false);
    writer.append("#Minecraft server properties");
    // Append any other content you need here.
    writer.flush();
    writer.close();
}

希望有所帮助!

答案 1 :(得分:0)

我编写了一个开源库,允许您将String转换为Unicode序列,反之亦然。它可以帮助您分析您的问题。在您的java代码中读取有问题文件中的String并将其转换为Unicode序列,或在写入文件之前转换String。以下是该文章的链接,该文章介绍了获取和使用库的方法。 (这很简单)。 Open Source Java library with stack trace filtering, Silent String parsing Unicode converter and Version comparison。请参阅字符串Unicode转换器

段落