ファイルまたはフォルダトランスコード:gbkトランスutf-8
8855 ワード
前回のioストリーム遍歴フォルダに基づいてgbk回転utf-8の方法をアップグレードしました.
パスを変換するファイルまたはフォルダに変換すると、そのファイルまたはフォルダのすべてのGBK符号化されたファイルがUTF-8符号化になりますu 8->gbkはコードの中の2つの符号化名を位置を変えるだけでいいです.
パスを変換するファイルまたはフォルダに変換すると、そのファイルまたはフォルダのすべてのGBK符号化されたファイルがUTF-8符号化になりますu 8->gbkはコードの中の2つの符号化名を位置を変えるだけでいいです.
public static void main(String[] args) {
File dir= new File("E:\\aaa\\bbb);
fileList(dir);
}
//
public static void fileList(File file) {
File rootFile = file;
File[] files = rootFile.listFiles();
if (files != null) {
for (File f : files) {
if (!f.isDirectory()) {
codeConvert(f);
}
System.out.println(f.getPath());
//
fileList(f);
}
}
}
//
public static void codeConvert(File file) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader
(new FileInputStream(file), Charset.forName("GBK")));
StringBuilder sb = new StringBuilder();
String str;
while ((str = br.readLine()) != null) {
sb.append(str);
sb.append("
");
}
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter
(new FileOutputStream(file), Charset.forName("UTF-8")));
bw.write(sb.toString());
bw.flush();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}