1、
// 获取生成的源文件 StringBuilder dirStr = new StringBuilder(); dirStr.append(src).append(File.separator); String[] pkgs = pkg.split("\\."); for (String p : pkgs) { dirStr.append(p).append(File.separator); } File dir = new File(dirStr.toString()); @SuppressWarnings("unchecked") Collection<File> javaFiles = FileUtils.listFiles(dir, new String[] { "java" }, true); // 如果系统文件编码不是UTF-8将对其进行转码 String sysEncoding = System.getProperty("file.encoding"); if (!"UTF-8".equalsIgnoreCase(sysEncoding) && !"UTF8".equalsIgnoreCase(sysEncoding)) { logger.debug(sysEncoding + " -> UTF-8 begin..."); //源文件转码 detail.append("\u25c6\u6e90\u6587\u4ef6\u8f6c\u7801(").append(sysEncoding).append("->UTF-8)").append("\n"); for (File javaFile : javaFiles) { detail.append(" ").append(javaFile.getAbsolutePath()); try { String javaContent = FileUtils.readFileToString(javaFile, sysEncoding); FileUtils.writeStringToFile(javaFile, javaContent, "UTF-8"); // 【成功】 detail.append(" \u3010\u6210\u529f\u3011").append("\n"); } catch (IOException e) { e.printStackTrace(); // 【失败】 detail.append(" \u3010\u5931\u8d25\u3011").append("\n"); detail.append(ExceptionUtils.getStackTrace(e)); log.setStatus(Constants.FAILURE); log.setDetail(detail.toString()); return log; } } logger.debug(sysEncoding + " -> UTF-8 end..."); }
序列化:
// 实现序列化接口 detail.append("\u25c6\u5b9e\u73b0\u5e8f\u5217\u5316\u63a5\u53e3").append("\n"); logger.debug("implSerializableInterface start..."); for (File javaFile : javaFiles) { try { String javaContent = FileUtils.readFileToString(javaFile, sysEncoding); if(javaContent.indexOf("@XmlType") > 0 && javaContent.indexOf("import javax.xml.bind.annotation.XmlType;") > 0){ detail.append(" ").append(javaFile.getAbsolutePath()); logger.debug(javaFile.getAbsolutePath() + " implSerializableInterface..."); javaContent = implSerializableInterface(javaContent); // 【成功】 detail.append(" \u3010\u6210\u529f\u3011").append("\n"); FileUtils.writeStringToFile(javaFile, javaContent, "UTF-8"); } } catch (IOException e) { e.printStackTrace(); // 【失败】 detail.append(" \u3010\u5931\u8d25\u3011").append("\n"); detail.append(ExceptionUtils.getStackTrace(e)); log.setStatus(Constants.FAILURE); log.setDetail(detail.toString()); return log; } }
将
@XmlType(name = "ESB_YS_YS_InquiryEventsReferralsInfoSrvRequest", propOrder = { "msgHeader", "timefrom", "timeto", "usercode", "attribute1" }) public class ESBYSYSInquiryEventsReferralsInfoSrvRequest {}
序列化:
@XmlType(name = "ESB_YS_YS_InquiryEventsReferralsInfoSrvRequest", propOrder = { "msgHeader", "timefrom", "timeto", "usercode", "attribute1", }) public class ESBYSYSInquiryEventsReferralsInfoSrvRequest implements java.io.Serializable{}
/** * implements java.io.Serializable * * @param javaContent * @return */ private String implSerializableInterface(String javaContent) { StringBuilder sb = new StringBuilder(); sb.append(javaContent); int classIdx = sb.indexOf("public class "); if(classIdx > 0){ sb.insert(sb.indexOf("{", classIdx), " implements java.io.Serializable"); } return sb.toString(); }
int java.lang.StringBuilder.indexOf(String str, int fromIndex) //Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. //从fromIndex开始查找str的索引位置 StringBuilder java.lang.StringBuilder.insert(int offset, String str) //Inserts the string into this character sequence. //The characters of the String argument are inserted, in order, into this sequence at the indicated offset, moving up any characters originally above that position and increasing the length of this sequence by the length of the argument. If str is null, then the four characters "null" are inserted into this sequence. //在offset前插入字符串str
。。
相关推荐
批量文件转码工具 批量文件转码工具 批量文件转码工具 批量文件转码工具 批量文件转码工具
实际项目中有很多文件的编码是非utf编码,当多种编码的文件相互包含时,会出现乱码。 应实际需求,特写一个java程序,将非utf8编码的文件,转换为utf8编码。省却了一个文件一个文件修改的...可快速批量的见文件转码。
天翼网关F452配置文件转码软件
批量文件转码工具,支持GBK,UTF-8转换,window下面使用,亲测可以使用!!!!!!!!!!
比如图2的转码规则就是对项目的jsp文件,不管原来是什么编码,统一转为UTF-8编码,并且同时转换文件内容。可以点击右边的Add /Remove按钮来增加/删除规则。最后点击Apply来保存设置。 step3. 转码 在设置了转码规...
批量文件转码工具,支持GBK,UTF-8转换,window下面使用,亲测可以使用!
对文件上传预览,这里涉及到文件转码(word、ppt、图片、Excal)
批量文件转码工具(支持 GBK,UTF-8 转换)。 批量文件转码工具,支持GBK,UTF-8转换,window下面使用,亲测可以使用!!!!!!!!!! 批量 文件转码 工具 GBK UTF-8
MFC界面实现文件转码,目前支持Unicode、ANSI、UTF8三种编码格式相互转化,利用C++多态性质采用工厂模式,便于扩展更多编码格式;部分采用多线程
比如说我想把用GBK编码的/home/user/uchome目录下的文件全部转码为UTF8,转码之后的文件存储在/home/user/uchome2,那么命令为 java -jar "encoding.jar" /home/user/uchome /home/user/uchome2 GBK
监控视频.dav文件转码工具,支持转换为多种格式(MP4、AVI、WMV、MXF、GIF、DPG、MTV、AMV、SWF等多种格式,应有尽有。)。本软件为英文版软件,没有中文版,介意的话不要下载,避免浪费积分。也可当播放器使用,...
多文件转码小程序,linux文件夹拷贝到windows下,往往会出现乱码,此程序可帮您批量进行转码
炫酷乐转码先生是北京坤腾世纪科技有限公司面向个人和家庭用户推出的一款免费软件产品,它可以将各种来源的音视频文件转换成各种不同的格式,而且转码质量稳定,支持批量转码,速度快,可称之为“万能转码器”。...
获取文件编码格式与文件转码,提供几个工具方法
C#获取视频文件信息及视频转码操作,补充之前的压缩分卷的不完整,此为完整版
mysql命令行直接倒出数据,然后转换为csv文件,编码自动转换,支持windows
音频文件转码java开发,基于jave开源技术。 音频文件转码java开发,基于jave开源技术。
格式工厂安装包,可以将视频/音频/图片等转码,解决jsp播放视频问题,解决编码不支持问题