Java动态解压与数组创建技巧解析
java中怎么用cmd命令解压zip文件
对于压缩文件,Java有自己的类库java.util.zip;不过解压rar文件只能依赖我试过的第三方库:com.github.junrar和de.innosystec.unrar,前者解压时可能会抛出crcError错误,后者会报错配置pom时;无疑,使用cmd命令调用winRAR解压更加方便快捷。
调用cmd命令
publicstaticbooleanexe(Stringcmd){Runtimeruntime=Runtime.getRuntime();Try{Processp=runtime.exec(cmd);BufferedReaderreader=newBufferedReader(newInputStreamReader(p.getInputStream(),"GBK"));Stringline=reader.readLine();while(line!=null){logger.info(line);line=reader.readLine();}阅读器。
关闭();if(p.waitFor()!=0){returnfalse;}}catch(IOExceptione){//TODO自动生成的catchblocke.printStackTrace();}catch(InterruptedExceptione){//TODO自动生成的catchblocke.printStackTrace();}returntrue;}123456789101112131415161718192021222324
首先使用runtime.exec()执行获取进程的指令,从Process.getInputStream()获取回显字符并打印,打印时可能会出现中文乱码echo编码系统,我这里是GBK编码,所以加上encoding参数"GBK"tonewinputstreamReader
命令行字符串
如果需要调用cmd命令,比如cd。
等等,可以写“cmd\ccd目录”。
对于直接调用执行exe,可以写成“exe文件绝对路径参数”。
命令行字符串中,必须添加包含空格的路径或字符串,并加引号,即“\”exe文件的绝对路径\”。
“\”参数\“”
调用winRAR
我这里的安装目录是C:/ProgramFiles/WinRAR将D:\1.rar解压到D:,然后输入为"C:/ProgramFiles/WinRAR/unRar.exe":/ProgramFiles/WinRAR/rar.exe\"a-ep1D:\2.rarD:\源目录",表示添加文件对于压缩文件,-ep1表示添加文件排除根目录,例如D:\winrar\rar如果没有-ep1,zip包中只会出现winrar目录路径,并且会只包含rar目录
java中如何创建动态数组
Java动态数组是可以任意增长和缩小数组长度的对象。Java中比较常用的数组是ArrayList,它是javaAPI自带的java.util.ArrayList。
下面介绍ArrayList作为Java动态数组的创建和使用。
Java动态数组是可以任意增长和缩小数组长度的对象。
Java中比较常用的数组是ArrayList,它是javaAPI自带的java.util.ArrayList。
下面介绍ArrayList作为Java动态数组的使用。
1.语法:add()添加新元素,remove()删除元素,size()获取ArrayList的长度。
ArrayList下标从0开始。
2.示例代码importjava.util.ArrayList;publicclassJavaArrayList{publicstaticvoidmain(String[]args){//Java动态数组的初始化ArrayListal=newArrayList();//向Java动态数组中添加数据al.add("a");al.add("b");al.add("c");//输出Java动态数组for(int=0;i