0

所以我正在为游戏编写一个用于修改的工具,它工作得很好,但是我在将字符串写入文件时遇到了问题。游戏需要以 UTF-16LE BOM 编码的文件,所以我的代码如下所示:

public void save()
{
    FileOutputStream fos = null;
    byte[] buffer = null;
    try {
        fos = new FileOutputStream(new File("data//backup.txt"));
    } catch (FileNotFoundException ex) {

    }
    try
    {

        fos.write((byte)255);
        fos.write((byte)254);
        fos.write("\"lang\"\n".getBytes("UTF-16LE"));
        String s = "";
        for(int i = 1;i<fileContent.size();i++)
        {
            s = fileContent.get(i);
            fos.write(s.getBytes("UTF-16LE"));
            fos.write(System.getProperty("line.separator").getBytes("UTF-16LE"));
        }
        fos.close();
    }
    catch(Exception e){}    
}

fileContent 是一个字符串的 ArrayList,不包含行分隔符(我检查了多次)。所以我的问题是,文件中写入了太多的行分隔符。而不是例如:

a
b

我得到类似的东西:

a

b

任何想法,我做错了什么?

4

0 回答 0