Изменить кодировку существующего файла с помощью Java?

Мне нужно программно изменить кодировку набора скриптов *nix на UTF-8 С Java. Я ничего не буду писать им, поэтому я пытаюсь найти самый простой|быстрый способ сделать это. Файлов не так много и не так много. Я мог бы:

  • "написать" пустую строку, используя OutputStream с UTF-8, установленным в качестве кодировки
  • поскольку я уже использую FileUtils (из Apache Commons), я мог бы читать / писать содержимое этих файлов, передавая UTF-8 как кодировка

ничего особенного, но кто-нибудь сталкивался с этим делом раньше? Есть ли какие-либо минусы при любом подходе?

1 ответов


по запросу, и поскольку вы используете commons io, вот пример кода (проверка ошибок на ветер):

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;

public class Main {
    public static void main(String[] args) throws IOException {
        String filename = args[0];
        File file = new File(filename);
        String content = FileUtils.readFileToString(file, "ISO8859_1");
        FileUtils.write(file, content, "UTF-8");
    }
}