Во время процесса разработки вы можете встретить конверсию кодирования файла. Хотя инструмент разработки Eclipse может преобразовать кодирование, в некоторых случаях это неудобно. Например, исходный код самого файла был GBK, но теперь его необходимо преобразовать в UTF-8. Если кодирование файла напрямую изменяется на UTF-8 в Eclipse, поздравляю, он искажен, поскольку его нельзя напрямую преобразовать из GBK в UTF-8, нам необходимо вручную преобразовать кодирование. Ниже приведен класс инструмента преобразования кодирования файла.
пакет com.mikan.stuff; Импорт java.io.file; импортировать java.io.fileinputstream; Импорт java.io.fileOutputStream; Импорт java.io.filenamefilter; импортировать java.io.inputstream; Импорт java.io.inputStreamReader; импортировать java.io.outputstream; импортировать java.io.outputstreamwriter; Импорт java.nio.charset.charset; Импорт java.nio.charset.unsupportedCharsetException; public class FileCharsetConverter { public static void main(String[] args) throws Exception { convert("D://stuff//src//main//java//com/mikan//stuff//test.txt", "GBK", "UTF-8", new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endswith ("txt"); } / ** * Преобразовать указанный файл или каталог в указанный файл кодирования * * @param filename * для преобразований * @param fromchessetname * Кодирование исходного файла * @param tocharsetname * necoding, чтобы быть преобразованным * @Throws Exception * / public static void Convert (строка string string string nefferse {strucksese executsemet) Файл (имя файла), fromCharSetName, ToCharSetName, NULL); } / ** * Конвертировать указанный файл или каталог в указанный кодирование * * @param file * или каталог, который будет преобразован * @param from charsetname * Кодирование исходного файла * @param tocharsetname * Кодирование для преобразования * @throhs exception * / public void convert (file five string string structionnam FromCharSetName, ToCharSetName, NULL); } / ** * Конвертировать указанный файл или каталог в указанный кодирование * * @param file * или каталог, который будет преобразован * @param from charsetname * Кодирование исходного файла * @param toCharsetNam FilenameFilter Filter) бросает исключение {преобразовать (новый файл (имя файла), fromCharsetName, toCharSetName, Filter); } / ** * Конвертировать указанный файл или каталог в указанный кодирование * * @param file * или каталог, который будет преобразован * @param from charsetname * Кодирование исходного файла * @param tocharetname * Кодирование для преобразования * @param filter * file file FilenameFilter Filter) Throws Exception {if (file.isdirectory ()) {file [] fileList = null; if (filter == null) {fileList = file.listFiles (); } else {fileList = file.listFiles (filter); } for (file f: filelist) {convert (f, fromCharSetName, toCharSetName, Filter); }} else {if (filter == null || filter.accep (file.getParentFile (), file.getName ())) {string fileContent = getFileContentFromShet (file, fromCharSetName); SaveFile2Charset (файл, ToCharSetName, FileContent); }}} / ** * Читать файл в указанном кодировании и вернуть содержимое файла * * @param file * file для преобразован UnsupportedCharsetException (FromCharSetName); } InputStream inputStream = new FileInputStream (file); InputStreamReader Reader = new InputStreamReader (inputStream, fromCharSetName); char [] chs = new char [(int) file.length ()]; reader.read (chs); String str = new String (chs) .trim (); reader.close (); вернуть Str; } / ** * Записать текстовый файл в указанном методе кодирования, существование будет перезаписать * * @param file * file, который будет записан * @param toCharsetName * Кодирование для преобразования * @param Content * File Content * @Throws Exception * / public void Said -File2Charset (файл файл, строка toCharsetName, String). бросить новое UnsupportedCharsetException (toCharSetName); } OutputStream outputStream = new FileOutputStream (file); OutputStreamWriter OutWrite = новый outputStreamWriter (outputStream, toCharSetName); OutWrite.Write (Content); OutWrite.close (); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.