Java 不同语言的新行
我在测试系统时遇到了一个问题。我正在用Java创建一个文件,用Java编写,但用Pascal编译器读取。 所以,这可能还不清楚,但当我在Java(Eclipse)中执行类似操作时 它给了我一个看起来像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”,直到找到一个新行分隔符。 它不会停下来写 但这
嘿
你
当我在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();