import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
/**
* 类描述:Linux 下批量转换文件编码格式
*/
public class EncodeConverter
{
// 原文件目录
private static String srcDir = "C:\\Users\\hp\\Desktop\\com";
// 转换后的存放目录
private static String desDir = "C:\\Users\\hp\\Desktop\\com1";
// 源文件编码
private static String srcEncode = "gbk";
// 输出文件编码
private static String desEncode = "utf-8";
/**
* 处理的文件过滤,过滤器
*/
private static FileFilter filter = new FileFilter()
{
public boolean accept(File pathname)
{
// 只处理:目录 或是 .java文件
if(pathname.isDirectory() || (pathname.isFile() && pathname.getName().endsWith(".java")))
{
return true;
}
else
{
return false;
}
}
};
/**
* @param file
*/
public static void readDir(File file)
{
// 以过滤器作为参数
File[] files = file.listFiles(filter);
for (File subFile : files)
{
/**
* 建立目标目录
*/
if (subFile.isDirectory())
{
File file3 = new File(desDir + subFile.getAbsolutePath().substring(srcDir.length()-5));
if (!file3.exists())
{
file3.mkdirs();
}
file3 = null;
readDir(subFile);
}
/**
* 建立目标文件
*/
else
{
System.err.println("一源文件:/t" + subFile.getAbsolutePath() + "/n目标文件:/t" + (desDir + subFile.getAbsolutePath().substring(srcDir.length() - 5)));
System.err.println("-----------------------------------------------------------------");
try
{
convert(subFile.getAbsolutePath(),desDir + subFile.getAbsolutePath().substring(srcDir.length() - 5),srcEncode, desEncode);
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}
/**
* @param infile 源文件路径
* @param outfile 输出文件路径
* @param from 源文件编码
* @param to 目标文件编码
* @throws IOException
* @throws UnsupportedEncodingException
*/
public static void convert(String infile, String outfile, String from,
String to) throws IOException,UnsupportedEncodingException
{
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(infile), from));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outfile), to)));
String reading;
while ((reading = in.readLine()) != null)
{
out.println(reading);
}
out.close();
in.close();
}
public static void main(String[] args)
{
// 建立目标文件夹
File desFile = new File(desDir);
if (!desFile.exists())
{
desFile.mkdir();
}
desFile = null;
File srcFile = new File(srcDir);
// 读取目录 循环转换文件
readDir(srcFile);
srcFile = null;
}
}
分享到:
相关推荐
批量转换文件编码格式为UTF-8工具.zip 支持多层文件夹替换! 使用说明: 1.文件根目录:即您要转码的文件所在根目录 2.转码文件目录:即您转码后的文件所在目录 3.转码文件后缀:指[文件根目录]下,需要转码的文件后缀,...
批量文件编码格式转换工具.zip批量文件编码格式转换工具.zip 批量文件编码格式转换工具.zip批量文件编码格式转换工具.zip 批量文件编码格式转换工具.zip批量文件编码格式转换工具.zip 批量文件编码格式转换工具.zip...
批量转换文件编码 超级批量编码转换 批量转换编码 编码批量转换工具 批量转换txt编码 linux 批量转换编码 编码格式批量转换 php 字符编码转换 字符编码转换 java 字符编码转换
Qt5.9开发的文件编码转换。该工具我用来在Windows7下面VS2015编译器与MinGW编译器编码转换。MinGW编译器使用UTF-8编码,VS2015使用GB2312编码。 预编译头文件缺失,将头文件替换为 #include #include #include #...
编码批量转换工具 已经用过,绝对好用 【基本介绍】 "批量字符编码转换工具"是绿色软件,单文件免安装,请放心试用。 批量字符编码转换工具可以在gbk,gb23123,unicode,utf8,ansi之间进行汉字编码转换。 【软件特点】...
批量文件编码转换 只识别文本类文件,识别的是文件头,不是后缀。所以只要是文本文件,无论什么后缀都能识别。如有需要联系 yyxu123@163.com
用于批量转换txt文本文档的编码格式。通常我们电脑里的txt文件都是ASNI编码,放到手机,MP3等设备里面,打开看到的都是乱码。所以我们必须先把它们转换为Unicode格式,才能够在手机和MP3上面打开。如果有大量的文件...
Txt文件编码批量转换器用于批量转换txt文本文档的编码格式。通常,我们电脑里的txt文件都是ASNI编码,当放到手机或MP3里时,打开看到的往往都是乱码,面目全非。我们需要先把它们转换为Unicode格式,才能够在手机和...
此工具可批量修改文件编码(默认gb2312转utf8,可修改) python版本:2.7 使用说明: dirGb2312ToUtf8('F:\work\MyProject\Source\MyProject') 把以上路径改为自己需要转换的文件夹即可
文件编码格式批量转换格式 支持整目录转换。 转后后的数据保持源目录的结构输出到全新的目录下。 系统支持输入GB2312,系统默认,UTF-8 / UTF-16。 如果是微软的stupid格式的文本,系统支持自动判断数据格式。 ...
主要介绍了Java实现 批量转换文件编码格式的方法及实例代码,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
批量修改文件编码,拖动文件夹 点击查找文件,一键修改文件下所有文件的编码格式,极度方便,使用notepad插件修改之类的已经弱爆了.
本java代码简单,只要配置编码类型和文件夹路劲,就可以实现批量对文件编码。
2,文件编码自动识别,所以使用的时候不用提供原文件的编码;识别不了不会转换,保证项目文件的安全 3,支持utf-8-bom编码 4,兼容Linux & Windows & Mac系统 5,不用安装,只要机器有JDK就可以使用 需要源码的请...
需要将工作目录下的文件进行转码,开始的编码是GBK的,需要将其转换为utf-8的。文件较多,手动转换肯定不行,用Python写个脚本来实现。
转换文件的编码,可指定文件夹、文件后缀匹配查找文件进行批量转换。运行方式:java -jar fileconvert.jar
支持文件批量转换编码,不单纯是修改编码格式,直接是进行编码的格式转换,比如GBK编码格式转换为UTF-8编码格式中文不乱码。想notepad++转换编码一样,亲测可用
文件编码格式批量转换,转UTF-8等编码加
本工具可以根据需要批量将一个目录及其子目录下的所有文件转换为GB2312或Utf-8编码文件,绿色软件,无需安装。