Durante el proceso de desarrollo, puede encontrar la conversión de codificación de archivos. Aunque el eclipse de la herramienta de desarrollo puede convertir la codificación, es inconveniente en algunos casos. Por ejemplo, el código original del archivo en sí era GBK, pero ahora debe convertirse en UTF-8. Si la codificación del archivo se modifica directamente a UTF-8 en Eclipse, felicidades, está confusa, porque no se puede convertir directamente de GBK a UTF-8, necesitamos convertir manualmente la codificación. A continuación se muestra una clase de herramienta de conversión de codificación de archivo.
paquete com.mikan.stuff; import java.io.file; import java.io.fileInputStream; import java.io.fileOutputStream; import java.io.fileNameFilter; import java.io.inputstream; import java.io.inputstreamreader; import java.io.outputstream; import java.io.outputstreamwriter; import java.nio.charset.charset; import java.nio.charset.unsupportedcharsetException; public class filecharSetConverter {public static void main (string [] args) lanza excepción {convert ("d: //stuff//src//main//java//com/mikan//stuff//test.txt", "gbk", "utf-8", new FileNameFilter () {@Override Public BooleLeHer (File String n. name.endswith ("txt"); } / ** * Convierta el archivo o directorio especificado en la codificación especificada * * @param filename * archivo para convertirse * @param fromcharsetName * codificación del archivo de origen * @param toCharSetName * Encoding para convertirse * @throws Exception * / public Static Convertir (String FileName, String FromSetName, String a String) Archivo (nombre de archivo), fromCharSetName, toCharSetName, null); } / ** * Convierta el archivo o directorio especificado en la codificación especificada * * @param archivo * archivo o directorio para convertirse * @param fromCharSetName * Codificación del archivo de origen * @param toCharSetName * Encoding para ser convertido * @throws Exception * / public static Convert (Archivo de archivo, cadena de String FromCharname, String toTarsetName) fromCharSetName, toCharSetName, null); } / ** * Convierta el archivo o directorio especificado en la codificación especificada * * * @param archivo * archivo o directorio para convertirse * @param fromcharsetSetName * Codificación del archivo fuente * @param toCharSetName * Encoding para convertirse * @ @filtro de archivo * filtro de archivo * @throws Exception * / public void transvers. Filtro FileNameFilter) lanza la excepción {Convert (nuevo archivo (nombre de archivo), fromcharsetName, toCharSetName, filtro); } /** * 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, Filtro FilenameFilter) lanza la excepción {if (file.isDirectory ()) {file [] fileList = null; if (filtro == null) {fileList = file.listFiles (); } else {fileList = file.listfiles (filtro); } para (archivo f: filelist) {convert (f, fromcharsetName, toCharSetName, filtrar); }} else {if (filtre == null || filter.accept (file.getParentFile (), file.getName ())) {String fileContent = getFileContentFromCharset (file, fromCharSetName); saveFile2Charset (archivo, toCharSetName, fileContent); }}} / ** * Lea el archivo en la codificación especificada y devuelve el contenido del archivo * * * @param archivo * archivo para convertirse * @param fromcharsetSetName * codificación del archivo de origen * @return * @throws excepción * / public static string getFiLeContFromSet (archivo de archivo, string fromCharsetName) shougs { nuevo UnsupportedCharSetException (fromCharSetName); } InputStream InputStream = new FileInputStream (archivo); InputStreamReader Reader = new InputStreamReader (inputStream, fromCharSetName); char [] chs = new Char [(int) file.length ()]; Reader.read (CHS); String str = new String (chs) .trim (); lector.close (); regresar str; } / ** * Escriba el archivo de texto en un método de codificación especificado, la existencia sobrescribirá * * * @param archivo * archivo para que se escriba * @param toCharSetName * codificación para convertir * @param Content * File Content * @throws Exception * / public Static void savoDFile2CharSet (archivo archivo, cadena de charcheSetName, cadena) lanza la excepción {if (if (if (if (if (! {lanzar new UnsupportedCharSetException (toCharSetName); } OutputStream outputStream = new FileOutputStream (archivo); OutputStreamWriter outWrite = new OutputStreamWriter (outputStream, tOCharSetName); outWrite.write (contenido); outWrite.Close (); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.