Странные символы при записи в файл (Mac) (Java) - PullRequest
0 голосов
/ 04 октября 2011

Я работаю на Mac (Snow Leopard). Используя Java, я очищаю содержимое файла и затем пишу в него. Вот код для очистки файла:

   new File(FileName).delete();
   new File(FileName).createNewFile();

Впоследствии, когда я пишу в файл, я нахожу странные символы; например: вместо записи:

ожидается ‘=’, ‘,’, ‘;’, ‘asm’

пишет:

ожидаемый â € = â €, â €, ‚’, â €, â € œasmâ €, 1013 *

Я уверен, что createNewFile () вызывает проблему, потому что никаких проблем не возникает, когда я пишу тот же текст в файл, который я создал вручную. Что я могу сделать?

Спасибо.

1 Ответ

2 голосов
/ 04 октября 2011

Вы где-то вводите ошибку транскодирования.

Вы кодируете данные как UTF-8 в Java, но все, что вы используете для декодирования, это обрабатывает данные как (вероятно) MacRoman.

Или ваш редактор Java сохраняет файл как UTF-8, а ваш компилятор декодирует его как MacRoman до компиляции.

Читать это .

...