開発プロセス中に、コンバージョンをエンコードするファイルに遭遇する場合があります。開発ツールEclipseはエンコードを変換できますが、場合によっては不便です。たとえば、ファイル自体の元のコードはGBKでしたが、現在はUTF-8に変換する必要があります。ファイルエンコーディングがEclipseでUTF-8に直接変更されている場合、おめでとうございます。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"、ulnamefilter( @filenamefilter( name.endswith( "txt"); } / ** *指定されたファイルまたはディレクトリを指定されたエンコードに変換しますfile(filename)、fromcharsetname、tocharsetname、null); } / ** *指定されたファイルまたはディレクトリを指定されたエンコードに変換します * * @paramファイル * @paramファイルまたはディレクトリを変換する * @param from charsetname * source file * @param tocharsetname * encoding on converted * @throws例外 * /パブリックstatic void convert(ファイル、ファイル、ストリング、ストリング、ストリング、ストリング、ストリング、ストリング、ストリング、ストリング、 fromCharsetName、toCharsetName、null); } / ** *指定されたファイルまたはディレクトリを指定されたエンコードに変換します * * @paramファイル *変換されるファイルまたはディレクトリ * @param from charsetname * sourceファイルのエンコードfilenamefilterフィルター)スロー例外{convert(new file(filename)、fromCharSetName、toCharSetName、フィルター); } / ** *指定されたファイルまたはディレクトリを指定されたエンコードに変換します * * @paramファイル *変換するファイルまたはディレクトリは、ソースファイルのエンコード * @param tocharsetname * @param tocharsetname * @paramフィルター *ファイル名フィルター * @throws例外フィルター)スロー例外{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.accept(file.getParentFile()、file.getName()){string filecontent = getFileContentFromCharset(file、fromCharSetName); savefile2charset(file、tocharsetname、filecontent); }}} / ** *指定されたエンコードのファイルを読み取り、ファイルコンテンツを返します * * @paramファイル * @param * @param from charsetname * @return * @throws例外 * / public static string getFileContentFromCharset(ファイルファイル、fromCharsetName)サポートされていないCharsetException(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ファイル * @param tocharsetname * @param content * @param content * @throws例外 * /パブリックvoid savefile2charset(ファイルファイル、文字列コンテンツ)新しいサポートされていないCharsetException(tocharsetname); } outputStream outputStream = new fileoutputStream(file); outputStreamWriter outwrite = new outputStreamWriter(outputStream、toCharsetName); outwrite.write(content); outwrite.close(); }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。