2013-11-12 6 views
-2

Когда я использую \r\n в Windows, чтобы напечатать новую строку в файле, она работает, если файл <anyfile>.v, то есть его расширение составляет .v. Но если расширение файла изменено на .ucf, оно начинает печатать некоторый мусор. Я делаю это через Java-код. Любая помощь?Новая строка в окнах

.v является файлом verilog и .ucf является файлом ограничений Xilinx propietory. Оба они обрабатываются программным обеспечением 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(); 
} 
} 

мусора производится.

+1

Пожалуйста, сообщите нам, что такое '.v' и' .ucf' файлы. Предположительно, они обрабатываются конкретной программой, которая решает, что с ними делать. –

+0

Неправда. Java не заботится о расширениях файлов. – Ingo

+0

'.v' - файл verilog, а' .ucf' - файл ограничений собственности Xilinx. Оба они обрабатываются программным обеспечением Xilinx. – kamalbanga

ответ

3

Похоже, вы пишете Writer или PrintWriter.

Писатели требуют для преобразования символов в двоичные данные CharSet (например, UTF-8). Если вы не указали явно кодировку при конструировании вашего Writer, будет использоваться JVM's default charset.

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

Отметьте, что \r\n не является стандартным для всех операционных систем. Чтобы получить новую строку ОС во время выполнения, вы можете использовать System.getProperty("line.separator") вместо жесткого кодирования.

+1

+1 Замечательно догадался. Я планирую, что плакаты потратят половину этой энергии, чтобы сформулировать свои вопросы и привести примеры кода, который ведет себя неправильно. – Ingo

+0

Да, поскольку я обычно использую необработанные потоки, я не думал обо всей проблеме Writer. Хороший звонок. – MadConan

+0

@ lance спасибо за 'System.getProperty', именно то, что мне нужно :) – kamalbanga

Смежные вопросы