Как нажать Enter в файле на Java

Возможный дубликат:
Java: как получить независимый от платформы символ новой строки?

Я хочу записать ввод в файл с классом 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 t ' s B e f o r e E n t e r . . . I t m u s t b e o n n e x t L i n e . . .


person Amir Hossein    schedule 31.10.2012    source источник
comment
Что вы имеете в виду, когда говорите «нажмите клавишу ввода»? Чего ты хочешь добиться? Если вам просто нужен разрыв строки, это должно работать: - /   -  person André Stannek    schedule 31.10.2012
comment
_1 _?!? DYM RandomAccessFile. Будьте осторожны, копируя / вставляя в будущем.   -  person Andrew Thompson    schedule 31.10.2012
comment
Также обратите внимание, что если вы действительно имеете в виду RandomAccessFile, вы не можете просто «вставить новые строки» где угодно, не рискуя перезаписать следующие символы.   -  person Andrew Thompson    schedule 31.10.2012


Ответы (2)


Используйте System.getProperty("line.separator"); вместо символа новой строки.

Согласно javadoc

Последовательность, используемая операционной системой для разделения строк в текстовых файлах

person kosa    schedule 31.10.2012

Какую операционную систему ты используешь? Лучше используйте это:

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

Используя приведенный выше фрагмент, вам не придется беспокоиться о точных деталях разрывов строк, потому что они меняются в зависимости от используемой операционной системы.

Например, в Windows это \r\n, в современных Mac и Linux - \n, а в старых Mac - \r.

person Óscar López    schedule 31.10.2012