Pendant le processus de développement, vous pouvez rencontrer la conversion de codage de fichiers. Bien que l'éclipse de l'outil de développement puisse convertir le codage, il est gênant dans certains cas. Par exemple, le code d'origine du fichier lui-même était GBK, mais maintenant il doit être converti en UTF-8. Si le codage du fichier est directement modifié en UTF-8 dans Eclipse, félicitations, il est brouillé, car il ne peut pas être directement converti de GBK en UTF-8, nous devons convertir manuellement le codage. Vous trouverez ci-dessous une classe d'outils de conversion en codage de fichiers.
package com.mikan.stuff; Importer java.io.file; import java.io.fileInputStream; Importer java.io.fileOutputStream; import java.io.filenameFilter; import java.io.inputStream; Importer java.io.inputStreamReader; import java.io.outputStream; import java.io.outputStreamWriter; import java.nio.charse.Charset; Importer java.nio.charse.UNSUPPORTEDCHARSException; classe publique FileCharSetConverter {public static void main (String [] args) lève une exception {convert ("d: //stuff//src//main//java//com/mikan//stuff//test.txt", "gbk", "utf-8", fileNameFilter () {@Override Boolanc name.endswith ("txt");}}); } / ** * Convertir le fichier ou le répertoire spécifié en fichier d'encodage spécifié * * @param nom de fichier * à convertir * @param from CharsetName * Encodage du fichier source * @param tocharsetName * Encoding en converti * @throws exception * / public static void converti Fichier (nom de fichier), fromCharSetName, toCharSetName, null); } / ** * Convertir le fichier ou le répertoire spécifié en codage spécifié * * @param fichier * ou répertoire à convertir * @param fromcharsetName * Encoding du fichier source * @param tocharsetName * Encoding to est converti * @throws exception * / public static Void Convert (fichier, file from, filetname, String to FromCharSetName, TOCHARSETNAME, NULL); } / ** * Convertir le fichier ou le répertoire spécifié en codage spécifié * * @param fichier * ou répertoire à converti * @param fromcharsetName * Encodage du fichier source * @param tocharsetName * Encoding to Publicy FILLENAMEFILTER FILTER) lève une exception {convert (nouveau fichier (nom de fichier), fromCharSetName, toCharSetName, filtre); } /** * Convert the specified file or directory to the specified encoding* * @param file * File or directory to be converted* @param fromCharsetName * Encoding of the source file* @param toCharsetName * Encoding to be converted* @param filter * File name filter* @throws Exception */ public static void convert(File file, String fromCharsetName, String toCharsetName, FILENameFilter Filter) lève une exception {if (file.isDirectory ()) {file [] fileList = null; if (filter == null) {fileList = file.listFiles (); } else {fileList = file.listFiles (filtre); } pour (fichier f: fileList) {convert (f, fromcharsetName, toCharSetName, filter); }} else {if (filter == null || filter.accept (file.getParentFile (), file.getName ())) {String fileContent = getFileContentFromCharSet (file, fromcharsetName); SaveFile2Charset (fichier, toCharSetName, fileContent); }}} / ** * Lisez le fichier dans l'encodage spécifié et renvoyez le contenu du fichier * * @param fichier * fichier à convertir * @param fromcharsetName * Encodage du fichier source * @return * @throws exception * / public static static {if (! Charset.isSupporTted (from ifhare) {thory if (! Charset.isSUpporTted (from ifhame) {exception {if (! Charset.isSUPPTorted (from ifhare) {exception {if (! Charset.isSUPPTorted (from ifhare) {exception {if (! Charset.isSUPPTorted (from ifhame) {exception {if (! Charset.IspTorTorted (From Nouveau UnsupporttedCharSetException (FromCharSetName); } InputStream inputStream = new FileInputStream (fichier); InputStreamReader Reader = new InputStreamReader (InputStream, FromCharSetName); char [] chs = new char [(int) file.length ()]; Reader.read (CHS); String str = new String (chs) .trim (); Reader.Close (); retour STR; } / ** * Écrivez un fichier texte dans une méthode d'encodage spécifiée, l'existence écrasera * * @param fichier * fichier à écrire * @param tocharsetName * Encoding à converti * @param contenu * contenu de fichier * @throws exception * / public static void SaveFile2Charset (file, file ? } OutputStream OutputStream = new FileOutputStream (fichier); OutputStreamWriter outwrite = new OutputStreamWriter (outputStream, toCharSetName); outwrite.write (contenu); outwrite.close (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.