Java 不同语言的新行

Java 不同语言的新行,java,newline,pascal,eol,Java,Newline,Pascal,Eol,我在测试系统时遇到了一个问题。我正在用Java创建一个文件,用Java编写,但用Pascal编译器读取。 所以,这可能还不清楚,但当我在Java(Eclipse)中执行类似操作时 它给了我一个看起来像 嘿 你 当我在Pascal语言上运行这段代码时 begin assign(input,'D:/i.txt'); reset(input); while not eoln(input) do write(1); end. 这意味着:写“1”,直到找到一个新行分隔符。 它不会停下来写 但这

我在测试系统时遇到了一个问题。我正在用Java创建一个文件,用Java编写,但用Pascal编译器读取。 所以,这可能还不清楚,但当我在Java(Eclipse)中执行类似操作时

它给了我一个看起来像




当我在Pascal语言上运行这段代码时

begin
  assign(input,'D:/i.txt'); reset(input);
  while not eoln(input) do write(1);
 end.
这意味着:写“1”,直到找到一个新行分隔符。 它不会停下来写

但这没关系。这是另一件奇怪的事情:Pascal必须有一个换行符或行分隔符,或者新行指示符,我发现这是ASCII表(LF,新行)上的字符号10

所以,我决定换一种方式

    File file = new File("D:/i.txt");
    BufferedReader bf = new BufferedReader(new FileReader(file));
    PrintWriter pw = new PrintWriter(new FileWriter(file));

    pw.print("hey"+(char)10);
    pw.print("you");
    bf.close();
    pw.close();
这一个将给我相同的输出文件作为第一位代码(最后显然)。 但我所有的Pascal编译器仍在抱怨,并编写了数百个

我如何解决新线路的问题?
谢谢。

我认为无限循环(写几百个循环)是因为你从不从输入中读取任何内容,所以它从不在行的末尾。尝试将
读入(输入,ch)在循环中。

每种语言都有自己的规则。你看过pascal的文档吗?哈哈,这让我现在觉得很傻:\@DenisRozimovschi so read(input,ch)是Java还是pascal?我只是忘了放read()。现在它甚至可以与“\n”和“(char)10.Pascal一起使用<代码>非eoln(输入)时开始读取(输入,ch);写(1);结束是的。现在明白了。顺便说一下,当您使用“输入”和“输出”时,您只能使用读取(ch)或写入(ch)。
    File file = new File("D:/i.txt");
    BufferedReader bf = new BufferedReader(new FileReader(file));
    PrintWriter pw = new PrintWriter(new FileWriter(file));

    pw.print("hey"+(char)10);
    pw.print("you");
    bf.close();
    pw.close();