- 浏览: 103275 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
u013246812:
谢谢博主帮我解决了问题,就是那个process.exitVal ...
Java执行Shell脚本超时控制 -
fireinjava:
fireinjava 写道配置好多哦 =.=
刚看了下,原来是 ...
Java Spring2.5 Remote Invoke HTTP Invoker -
fireinjava:
配置好多哦 =.=
Java Spring2.5 Remote Invoke HTTP Invoker -
lee79:
呵呵,讲的很对
Java执行Shell脚本超时控制 -
fangwei:
非常感谢!!!btw 你虽然用到了slf4j,却没有用到它的强 ...
Java执行Shell脚本超时控制
在Java应用开发中,经常会遇到不同的开发人员的IDE设置的文件编码格式不一样,在后续集成环境中往往会因为file encoding不同引发一些小问题,故编写了一个小程序做文件转换动作。
import java.io.*; public class FileEncodingConverter { //Java file extention public static final String FILE_EXTENTION_JAVA = ".java"; public static final int BUFFER_SIZE = 1024 * 4; //File encoding public static final String FILE_ENCODING_UTF8 = "UTF_8"; public static final String FILE_ENCODING_GBK = "GBK"; public static final String FILE_ENCODING_GB2312 = "gb2312"; /** * File filter, only directory and java file */ private static FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { //directory and java file return file.isDirectory() || (file.isFile() && file.getName().endsWith(FILE_EXTENTION_JAVA)); } }; /** * @param sourceDirectoryPath sourceDirectory * @param destDirectoryPath destDirectory * @param sourceFileEncoding sourceEncoding * @param destFileEncoding destEncoding */ public static void scanDirectory(String sourceDirectoryPath, String destDirectoryPath, String sourceFileEncoding, String destFileEncoding) { File destDirectory = new File(destDirectoryPath); if (!destDirectory.exists()) { destDirectory.mkdir(); } File sourceDirectory = new File(sourceDirectoryPath); scanDirectory(sourceDirectory, sourceDirectoryPath, destDirectoryPath, sourceFileEncoding, destFileEncoding); } /** * @param directory directory * @param sourceDirectoryPath sourceDirectory * @param destDirectoryPath destDirectory * @param sourceFileEncoding sourceEncoding * @param destFileEncoding destEncoding */ private static void scanDirectory(File directory, String sourceDirectoryPath, String destDirectoryPath, String sourceFileEncoding, String destFileEncoding) { File[] files = directory.listFiles(fileFilter); File destFile; for (File file : files) { if (file.isDirectory()) { destFile = new File(destDirectoryPath + file.getAbsolutePath().substring(sourceDirectoryPath.length())); if (!destFile.exists()) { destFile.mkdir(); } scanDirectory(file, sourceDirectoryPath, destDirectoryPath, sourceFileEncoding, destFileEncoding); } else { System.out.println("Source file:\t" + file.getAbsolutePath() + "\nDest file:\t" + (destDirectoryPath + file.getAbsolutePath().substring(sourceDirectoryPath.length())) + "\n-----------------------------------------------------------------"); convertFile(file.getAbsolutePath(), destDirectoryPath + file.getAbsolutePath().substring(sourceDirectoryPath.length()), sourceFileEncoding, destFileEncoding); } } } /** * @param sourceFilePath sourceFilePath * @param destFilePath destFilePath * @param sourceFileEncoding sourceFileEncoding * @param destFileEncoding destFileEncoding */ private static void convertFile(String sourceFilePath, String destFilePath, String sourceFileEncoding, String destFileEncoding) { InputStream in = System.in; OutputStream out = System.out; Reader reader = null; Writer writer = null; try { //set up byte streams if (sourceFilePath != null) { in = new FileInputStream(sourceFilePath); } if (destFilePath != null) { out = new FileOutputStream(destFilePath); } // Use default encoding if no encoding is specified. if (sourceFileEncoding == null) sourceFileEncoding = System.getProperty("file.encoding"); if (destFileEncoding == null) destFileEncoding = System.getProperty("file.encoding"); // Set up character stream reader = new BufferedReader(new InputStreamReader(in, sourceFileEncoding)); writer = new BufferedWriter(new OutputStreamWriter(out, destFileEncoding)); char[] buffer = new char[BUFFER_SIZE]; int len; while ((len = reader.read(buffer)) != -1) { writer.write(buffer, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } try { in.close(); } catch (IOException e) { e.printStackTrace(); } try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { String sourceDirectoryPath = "D:\\Lee\\Products\\insquery\\src"; String destDirectoryPath = "D:\\Lee\\Products\\insquery\\dest"; scanDirectory(sourceDirectoryPath, destDirectoryPath, FILE_ENCODING_GBK, FILE_ENCODING_UTF8); } }
发表评论
-
Spring声明式事务管理与配置详解
2015-08-18 09:00 01、Spring声明式事务配置的五种方式 前段时间对 ... -
Log4j的配置与使用详解
2015-08-18 08:44 7281、介绍 Log4j是Apache的一个开放源代码项目 ... -
Web.xml
2015-08-18 08:35 389web.xml文件详解 前言:一般的 ... -
Spring Filter
2015-08-18 08:23 4741、简介 Filter也称 ... -
springSecurity源码分析——DelegatingFilterProxy类的作用
2014-12-16 13:56 666http://www.cnblogs.com/hzhu ... -
spring data jpa 中的OpenEntityManagerInViewFilter 取代OpenSessionInViewFilter
2014-12-05 13:52 0http://blog.csdn.net/lzwglory/ ... -
servlet tomcat web.xml配备信息说明
2014-12-05 13:50 0servlet tomcat web.xml配置信息说明 ... -
Spring IntrospectorCleanupListener
2014-12-05 12:40 627spring中提供了一个名为 org.springfr ... -
Spring IOC容器实例化Bean的方式与RequestContextListener应用
2014-12-05 12:35 1030spring IOC容器实例化Be ... -
SpringBean的5种作用域
2014-12-05 12:33 756org.springframework.web.contex ... -
Lobback日志文件
2014-12-05 12:29 1137Logback是由log4j创始人Ceki Gülcü设计的 ... -
HTML Element
2012-08-05 17:16 9251. select 1) Clear Select O ... -
Prototype Study (转)
2012-08-05 16:49 753什么是Prototype Prototype 是由 S ... -
Prototype Element
2012-08-05 16:46 8971. select <select name=&q ... -
IE Firefox 一些组件的特殊处理
2012-07-29 09:04 8441、html alt 在IE下控件的alt属性使用赋值后,当 ... -
log4j 自动生成 appender
2011-05-04 21:55 1631一般log4j的配置是通过log4j.properties或x ... -
Java ASP Post
2011-03-06 20:32 1151用Java编写的模拟ASP Post请求写的一个上海的违章查询 ... -
Java Spring2.5 Remote Invoke HTTP Invoker
2011-03-06 20:16 2630近日,一个项目涉及到 ... -
Java Spring1.2 Remote Invoke HTTP Invoker
2011-02-25 09:12 1260近日,一个项目涉及到系统间接口调用,考虑到系统间用的都是jav ... -
When Runtime.exec() won't
2009-07-02 12:31 1019As part of the Java language, t ...
相关推荐
FileEncodingConverter 文件编码转换工具 非常好用!
all-file-to-all-file-converter.exe
War3FileConverter.rar
vs FileEncoding插件 支持2019,2022
file_converter.zip
Iphone的HEIC图片转换成普通jpg图片的工具。可以转换成jpg,png和pdf文件
C#例子代码 A0103_FileEncodingC#例子...A0103_FileEncodingC#例子代码 A0103_FileEncodingC#例子代码 A0103_FileEncodingC#例子代码 A0103_FileEncodingC#例子代码 A0103_FileEncodingC#例子代码 A0103_FileEncoding
windows文件格式转换小程序
Resource file and Excel converter Resource file and Excel converter Resource file and Excel converter 解压密码 11112
解压密码:123 ||Withdata Data File Converter 2022是一个一体化套件,它为您提供了所有必要的工具和功能,用于处理您的文档。 它根据您的需要提供各种转换类型的设置,如设置质量和许多其他选项。 您还可以与使用...
一个非常不错的音频格式转换工具, 能互转MP3, Ogg, Wma, Aiff,dvf等音频格式。
在网上淘了一下发现了file-converter 开源免费的好工具。不知道啥时候起,自己也开始加入开源免费的程序阵营了,找工具先看有没有开源程序,因为这种程序比较安全,还能二次开发,一般也都是免费,当然如果能够支持...
开源免费文档转换工具 File Converter 中文版开源免费文档转换工具 File Converter 中文版 集成在上下文菜单中的多功能转换器 File Converter 最重要的好处之一是对不同文件类型的支持,包括多媒体数据,图形内容和 ...
主要介绍了java 中file.encoding的设置详解的相关资料,需要的朋友可以参考下
zemax file converter
用于CAD文件转换 支持到CAD2013
检测文件编码和语言功能性确定任何文本文件的编码和语言!检测34种语言以及适当的编码大量输入时... // app.jsconst languageEncoding = require ( "detect-file-encoding-and-language" ) ;document . getElementById
zeta变换器的分析,详细。目前在做泽塔变换器这一个课题,希望大家多多交流。
文件转换器描述File Converter是一个非常简单的工具,可让您使用Windows资源管理器的上下文菜单转换和压缩一个或多个文件。 您可以在这里下载它: 。 您可以在上找到有关文件转换器中的内容以及如何使用它的更多信息...
文件编码转换器(FileConverter)用于转换文本文件的编码格式,如ascii转utf8等,解决文本文件乱码问题,程序会自动识别文件的编码,并按用户的要求转换成指定编码。注意事项:开发环境为Visual Studio 2010,使用.net...