-2

当我\r\n在 Windows 中使用时,在文件中打印换行符时,如果文件是 ,它就可以工作<anyfile>.v,即它的扩展名是.v. 但是如果文件扩展名更改为.ucf,它会开始打印一些垃圾。我是通过 Java 代码来实现的。有什么帮助吗?

.v是一个verilog 文件并且.ucf是一个Xilinx 专有约束文件。两者都由 Xilinx 软件处理。

跑步时,

import java.io.*;
public class ucf {
public static void main(String[] args) throws IOException {
FileWriter output = new FileWriter("sample.ucf");
output.write("foo\r\n\bar\r\n");
output.close();
}
}

产生垃圾。

4

1 回答 1

3

听起来您正在写信给WriterPrintWriter

编写器需要一个CharSet(例如 UTF-8)来将字符转换为二进制数据。如果您在构建 Writer 时没有明确提供字符集,则将使用JVM 的默认字符集

我猜您使用一个字符集编写文件,而赛灵思正在使用不同的字符集读取文件,从而导致赛灵思出现垃圾。

请注意,这\r\n并不是所有操作系统的标准。要在运行时获取操作系统的换行符,您可以使用System.getProperty("line.separator")而不是硬编码。

于 2013-11-12T13:08:30.923 回答