【发布时间】:2014-12-08 19:20:59
【问题描述】:
我在使用我的测试系统时遇到了问题。我正在用 Java 创建一个文件,用 Java 写入它,但在 Pascal 编译器中读取它。 所以,这可能不是很清楚,但是当我在 Java (Eclipse) 中做这样的事情时
File file = new File("D:/i.txt");
BufferedReader bf = new BufferedReader(new FileReader(file));
PrintWriter pw = new PrintWriter(new FileWriter(file));
pw.print("hey\n");
pw.print("you");
bf.close();
pw.close();
它给了我一个看起来像的文件
嘿
你
当我在 Pascal 语言上运行这段代码时
begin
assign(input,'D:/i.txt'); reset(input);
while not eoln(input) do write(1);
end.
这意味着:写“1”直到找到新的行分隔符。 它不会停止写。
但这没关系。这是另一件奇怪的事情:Pascal 必须有换行符或换行符,或换行符,我发现这是 ASCII 表上的字符号 10(LF,换行符)。
所以,我决定换一种方式。
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 编译器仍然不断抱怨并写了数百个。
如何解决新行的问题? 谢谢。
【问题讨论】:
-
每种语言都有自己的规则是有道理的。你看过pascal的文档吗?