首页 > 解决方案 > 从 Arraylist 追加到 StringBuilder 删除换行符

问题描述

所以我正在编写一个.ini(配置文件)编写器和阅读器。可能有可用的库,但我只想尝试自己做。我遇到的一个问题是当我使用 FileWriter 并尝试使用 arraylist 的 get() 函数将元素从 arraylist 添加到文件并使用 append() 附加到文件时。但是,这不会向文件写入任何内容,最终会从文件中删除所有内容。

作为替代方案,我将 arraylist 附加到 stringbuilder,然后使用 toString () 将其转换为字符串,但将 Arraylist 附加到 stringbuilder 会消除换行符。换行符只在特定的地方,所以我不能在每个追加的末尾使用 \n 。有没有办法保留这些换行符?

这是用于从 arraylist 转换为 stringbuilder 然后写入文件的代码:

void WriteConfig() throws IOException {
        FileWriter fw = new FileWriter(file, false);
        StringBuilder str = new StringBuilder();

        for(int x = 0; x < lines.size(); x++) {
            System.out.println(lines.get(x));
            str.append(lines.get(x));
        }
        System.out.println(str.toString());
        fw.write(str.toString());

        fw.close();
    }

添加键值对时,我正在使用 \n 但是那些只是被 StringBuilder 忽略了。

标签: javaarraylist

解决方案


推荐阅读