1

可能重复:
Java:如何获得独立于平台的换行符?

我想用 class 将enter写入文件RandomFileAccess,但我无法正确执行。

我应该怎么办 ?

像这样的代码:

char enter = '\n' ;
outputfile.writeChar(enter);

我正在使用 Windows....感谢您的帮助,但它没有用 :(

public class MainClass {
    public static void main(String[] args) {
        String BeforEnter = "It's Before Enter...";
        String Enter = System.getProperty("line.separator");
        String AfterEnter = "It must be on next Line...";

        File MyFile = new File("test.txt");
        try {
            RandomAccessFile TextFile = new RandomAccessFile(MyFile, "rw");
            TextFile.writeChars(BeforEnter);
            TextFile.writeChars(Enter);
            TextFile.writeChars(AfterEnter);
            TextFile.close();

我期望这种文件样式:

进入前...

它必须在下一行...

但它变成了这样: :(

I's B before Enter。. . 我必须在下一行。. .

4

2 回答 2

3

您使用什么操作系统?更好地使用这个:

String enter = System.getProperty("line.separator");

使用上面的代码片段,您不必担心换行符的确切细节,因为它们会根据当前使用的操作系统而变化。

例如,在 Windows 中是\r\n,在当前的 Mac 和 Linux 中是\n,而在较旧的 Mac 中是\r

于 2012-10-31T15:18:36.747 回答
3

改用System.getProperty("line.separator");换行符。

根据javadoc

操作系统用于分隔文本文件中的行的序列

于 2012-10-31T15:17:19.883 回答