java apache commons io を使って文字コードを変換する方法
java apache commons io を使って文字コードを変換する方法 (※肝心の変換部分はapache commons ioは使っていませんが。。。) 下記の例では「utf8.txt(文字コード:UTF-8)」を「sjis.txt(文字コード:Shift_JIS)」 に変換しています。 ------------------------------------------------------------------- String fromCharset = "UTF-8"; // 変換元文字コード String toCharset = "Shift_JIS"; // 変換先文字コード // UTF-8 のファイルを読み込んでbyte配列へ byte[] inData = FileUtils.readFileToByteArray(new File("utf8.txt")); // UTF-8 のbyte配列からShift_JISのbyte配列へ byte[] outData = new String(inData,fromCharset).getBytes(toCharset); // Shift_JISのbyte配列を書き込み FileUtils.writeByteArrayToFile(new File("sjis.txt"),outData); ------------------------------------------------------------------- 使ったライブラリ)commons-io-2.4.jar 実験的にwikipediaのトップページの文字列データをutf8.txtで保存 sjis.txtができたがいくつか文字化けした文字があったが 基本的なテキスト文章であれば大丈夫みたいです。 「・」→「? 」 「العربية」→「???????」 注意点としては 「FileUtils.readFileToByteArray」では、すべてのファイルの内容をby