Записать файл в формате ANSI на диск - PullRequest
1 голос
/ 10 июля 2019

Я должен создать файл экспорта, используя groovy в формате ANSI. Когда я записываю файл на диск и открываю его в «Notepad ++» или nano, специальные символы, такие как «äüö», отображаются неправильно. Notepad ++ отображает «Windows-1255» как кодировку.

Я уже пытался изменить кодировку и дополнительно преобразовать строку

import java.io.FileWriter
import java.io.BufferedWriter
import java.io.InputStream
import java.nio.charset.Charset
import java.nio.charset.StandardCharsets


String fullPath = "/tmp/jamesTempFiles/ansi.txt"

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fullPath), "Cp1252"))
//doesn't work either when i use the following line instead
//BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fullPath), "windows-1252"))
String input = "test\r\näüöß"

writer.write(input)
//doesn't work either when i use the following line instead
//writer.write(new String(input.getBytes(Charset.forName("utf-8"))))
writer.close()

В Notepad ++ файл выглядит так https://pasteboard.co/Inj3SL2.png Символы во второй строке должны быть такими: äüöß

1 Ответ

0 голосов
/ 11 июля 2019

Думаю, я наткнулся на ошибку в блокноте ++. При изменении моей тестовой строки на фактические данные notepad ++ начал интерпретировать специальные символы как исключение.

...