2017-02-17 12 views
0

Я создал java gui для создания файлов bat. Когда я пишу биту, содержащий строку, как это: "L'Uomo più форте" Notepad ++ показывает, что это: "L Uomo PI- форте?"Создайте bat из кода Java, сохраняя апострофы и акцентированные символы.

Вот код:

FileOutputStream fos = new FileOutputStream(bat); 
Writer w = new BufferedWriter(new OutputStreamWriter(fos, "Cp850")); 
String stringa = "L’uomo più forte" 
w.write(stringa); 
w.write("\n"); 
w.write("pause"); 
w.write("\n"); 
w.flush(); 
w.close(); 

Я должен был используйте cp850 для использования dos. Используя базовую кодировку, летучая мышь дает ошибку.

Решения?

ответ

0

Вместо использования "Cp850":

Writer w = new BufferedWriter(new OutputStreamWriter(fos, "Cp850")); 

Попробуйте использовать "UTF-8":

Writer w = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8")); 

Для получения дополнительной информации на UTF-8 кодировке Go Here.

Не забудьте поставить точку с запятой (; ) в конце вашего stringa строки объявления переменных/инициализации и окружить код в попытке/поймать блок для обработки возможно FileNotFoundException, UnsupportedEncodingException, и IOException Исключения.

Также ... для NotePad, чтобы обеспечить новую линию, которую нужно также поставить \ г тег:

w.write("\r\n"); 
0

Вы можете сделать следующее:

  • Open Командная строка cmd.exe.
  • Выполнение echo L’uomo più forte>text.txt команда.
  • Открыть файл text.txt и скопировать туда строку.
  • Вставьте его в свой код.

Например, я создал файл text.txt, переименовал его в test.bat и приложил echo команду. Это мой test.bat файл:

@echo off 

echo L'uomo pi— forte 

... и это выход:

L'uomo più forte 

Если какой-то символ не отображается правильно, то кодовая страница используется не содержит такой характер.

Примечание: Предлагаю вам использовать стандартный блокнот Windows. В этих случаях программа notepad ++ может вызвать странный вывод.