今天在公司做项目时,用到这么一个功能:需要批量执行一些DOS的XCOPY指令,这些指令是通过JAVA后台的字符串操作拼接出来的,示例如下:
xcopy D:\DocCenterB\2010\09\03\13\21\59\DocId_1708 D:\backup\20100903152219\file\2010\09\03\13\21\59\DocId_1708 /y /i /e /c
xcopy D:\DocCenterB\2010\09\03\13\22\00\DocId_1709 D:\backup\20100903152219\file\2010\09\03\13\22\00\DocId_1709 /y /i /e /c
xcopy D:\DocCenterB\2010\09\03\13\22\10\DocId_1710 D:\backup\20100903152219\file\2010\09\03\13\22\10\DocId_1710 /y /i /e /c
xcopy D:\DocCenterB\2010\09\03\13\22\11\DocId_1711 D:\backup\20100903152219\file\2010\09\03\13\22\11\DocId_1711 /y /i /e /c
xcopy D:\DocCenterB\2010\09\03\13\22\12\DocId_1712 D:\backup\20100903152219\file\2010\09\03\13\22\12\DocId_1712 /y /i /e /c
xcopy D:\DocCenterB\2010\09\03\13\22\31\DocId_1713 D:\backup\20100903152219\file\2010\09\03\13\22\31\DocId_1713 /y /i /e /c
起初的做法,我通过Process类里面,调用exec(String[] cmdArray)方法去批量执行上述复制指令,不知道大家怎么做的,捕获的异常上看,执行第一句复制的时候,产生ERROR,原因显示是乱码。文件与对应的目录都是存在的。网上找了些资料,没有找到相应的解决方法,无奈之下,写了个循环,一条一条地去执行复制操作,结果是成功的,但我想这个代价实在太大,指令越多意味着执行的进程数越多。而SUN公司现有的批量执行API调用是失败的。换句话说,JDK里面Process.exec(String[] cmdArray)是有问题的,我目前测试下来。但是,Process.exec(String cmd)是没有问题的,大家可以去试一下。我的是JDK1.6.0
2012年11月2日,今天偶尔翻翻以前的博客,心血来潮再来研究runtime.exec那个问题,经过我大量的百度之后,终于了解了,文章地址:
http://blog.csdn.net/anbo724/article/details/6636288。原来exec的方法传一个字符串组的话,也是执行一条指令,格式为:第一个元素为命令,第二个元素一直到第N个元素都是参数,这下终于明白了。下次批量复制文件,我一定会生成BAT文件,然后执行操作。
分享到:
相关推荐
mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...
标题中的“jdk1.6集成jjwt的问题”指的是在Java Development Kit (JDK) 版本1.6的环境下,尝试整合JSON Web Token (JWT) 库jjwt时遇到的挑战。JWT是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 ...
JDK 1.6,也被称为Java SE 6,是Java平台的一个重要版本,发布于2006年12月11日。这个版本在Java社区中具有广泛的影响力,因为它引入了许多新特性和性能优化,使得开发者能够更高效地编写和运行Java程序。 首先,...
aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-...
在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...
1.okhttp3.8源码使用jdk1.6重新编译,已集成了okio,在javaweb项目中使用,未在安卓项目中使用 2.okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.jar
- **下载**:从Oracle官网或其他可信源下载JDK 1.6的安装文件,如"jdk1.6.exe"。 - **安装**:双击执行安装文件,按照向导步骤进行安装,选择合适的安装路径。 - **环境变量设置**:安装完成后,需要在系统环境变量...
JDK1.6是Oracle公司发布的一个较早版本,适用于Windows操作系统。在这个解压版中,用户无需进行安装过程,可以直接在Windows环境下使用JDK的各个工具。 JDK1.6包含的主要组件有: 1. **Java编译器**(javac):...
这个特定的更新主要集中在错误修复和安全补丁上,确保开发者在使用JDK 1.6时,能避免已知的安全风险,同时提高系统的稳定性。这些更新可能包括对Java插件、Java运行时环境、Javadoc工具、Java编译器等各个组件的改进...
JDK1.6是Java发展史上的一个重要版本,它在JDK1.5的基础上进行了大量的改进和优化,提供了更多的特性和功能。 ### 二、JDK1.6的主要特性 1. **性能优化**:JDK1.6对垃圾回收机制进行了改进,提升了程序运行时的...
OkHttp3.8.0-jdk1.6.zip是一个专门为Java Web项目设计的网络通信库,它针对JDK1.6进行了优化和重新编译,确保在较低版本的Java环境中也能稳定运行。OkHttp,由Square公司开发,是一款高性能的HTTP客户端库,以其高效...
JDK 1.6,也称为Java SE(标准版)6,是Java编程语言的一个早期版本,发布于2006年。它包含了Java编译器、Java虚拟机(JVM)、Java类库以及开发者用来创建、调试和部署Java应用程序所需的各种工具。 **JDK 1.6的...
总的来说,这个JDK 1.6 32位免安装纯绿色版是一个便捷的开发工具,适用于那些需要快速部署Java环境或者仍在维护使用Java 6代码的开发者。尽管如此,考虑到技术的进步和安全考虑,对于新的开发工作,推荐使用更现代的...
提供的压缩包文件"解决JDK1.6下的Base64.txt"可能包含了如何集成和使用这些第三方库的详细步骤,或者可能是自定义的Base64实现。在实际应用中,你需要根据文件内容来调整你的项目配置。 总的来说,尽管JDK 1.6没有...
综上所述,这个压缩包提供的是一款适用于JDK1.2至JDK1.6的Java反编译工具,包括一个汉化版的图形界面程序(yingjad.exe)和原始的反编译引擎(jad.exe),还提供了一份ReadMe文档来指导用户如何使用这些工具。...
IBM JDK 1.6是IBM公司为Java开发者提供的一个针对Linux 64位操作系统的Java开发工具包。这个版本的JDK是Java平台标准版(Java SE)的一部分,主要用于开发和运行Java应用程序、Web应用程序以及企业级应用。IBM JDK与...
1. **JDK1.6**:这是Java的一个重要版本,正式名称为Java SE 6(Java Standard Edition 6)。它在2006年发布,引入了许多新特性,包括改进的垃圾回收算法、更好的性能优化、增强的Swing组件、新的XML处理API(如JAXB...
JDK 1.6,也被称为Java SE 6,是Oracle公司于2006年发布的Java平台标准版的一个重要版本。这个版本引入了一些关键特性,如改进的垃圾回收机制、增强的Swing组件、动态代理类以及新的编译器优化等。其中,最值得注意...
因此,在JDK 1.6下使用这些类时可能会遇到兼容性问题,比如编译错误或者运行时异常等。 #### 解决方案 为了解决这个问题,可以考虑引入Apache Commons Codec库。Apache Commons Codec库提供了一系列编码器和解码器...
本文将详细解释如何在JDK 1.6环境下解决Base64编码和解码的问题。 首先,JDK 1.8及更高版本引入了`java.util.Base64`类,提供了完整的Base64编码和解码功能。但在JDK 1.6中,我们需要依赖第三方库来实现这一功能。...