首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

java调用linux 下令

2012-10-15 
java调用linux 命令java 在linux环境下调用 linux命令/** * 完成解压给定的数据包功能 * @param ftpDataDi

java调用linux 命令

java 在linux环境下调用 linux命令

/** * 完成解压给定的数据包功能 * @param ftpDataDir * @param fileName * @return 返回ok 表示解压完成 返回""表示减压失败 */public String decompressFile(String ftpDataDir,String fileName){String results = "";BufferedReader in = null;try {File file = new File(ftpDataDir,fileName);boolean isFile = file.isFile();if (isFile) {// 将fileName减压到ftpDataDir目录下 x文件完整路径释放 ,-r递归子目录,-o解压的目录,-aoa 覆盖已经存在的String fileNameS = fileName.substring(0, fileName.lastIndexOf("."));String commands = "7za x  "+ftpDataDir+""+fileName+" -r -o"+ftpDataDir+""+fileNameS+" -aoa";log.info("解压缩文件命令:"+commands);Runtime runtime = Runtime.getRuntime();Process process = runtime.exec(commands);log.info(commands);//in = new BufferedReader(newprocess.getInputStream());in = new BufferedReader(new InputStreamReader(process.getInputStream()));String str = null;        String[] strArray = null;        String isOk = "Everything is Ok";        while ((str = in.readLine()) != null) {        // 如果返回 "Everything is Ok" 表示减压成功        log.info("---"+str);        if (str.equals(isOk)) {        results = "ok";        return results;}        }}else{// 不是一个标准文件log.info(ftpDataDir+fileName+"不是一个标准文件");}} catch (Exception e) {System.out.println("解压给定的数据包功能出错!");log.error("解压给定的数据包功能出错!:"+ftpDataDir+File.separator+fileName);e.printStackTrace();}finally{if (in != null ) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}return results;}

?

?

/** * 完成备份数据包功能,即把fileName从ftpDataDir目录备份到backupDir目录 * @param ftpDataDir * @param fileName * @param backupDir * @return   返回ok 表示解压完成 返回""表示减压失败 */public String backupFile(String ftpDataDir,String fileName,String backupDir){String results = "";BufferedReader in = null;try {File file = new File(ftpDataDir,fileName);boolean isFile = file.isFile();if (isFile) {Runtime runtime = Runtime.getRuntime();// 先复制 再删除 cp -adfpr /var/ftp/test7z/FileUtil.java /var/ftp/xinhua/xinhua/String cpCommand = "cp -adfpr "+ftpDataDir+""+fileName+" "+backupDir;log.info("备份命令:"+cpCommand);Process cpProcess = runtime.exec(cpCommand);System.out.println(cpCommand);// 验证是否复制成功String lsCommand = "ls "+backupDir+""+fileName;Process lsProcess = runtime.exec(lsCommand);log.info(lsCommand);//in = new BufferedReader(newprocess.getInputStream());in = new BufferedReader(new InputStreamReader(lsProcess.getInputStream()));String str = null;        while ((str = in.readLine()) != null) {        // 如果返回 fileName 表示已经移动到备份的目录了        System.out.println("---"+str);        if (str.equals(backupDir+""+fileName)) {        results = "ok";        break;}        }        if ("ok".equals(results)) {// 备份成功 删除ftp目录中的文件        //String rmCommand = "rm -f "+ftpDataDir+""+fileName;//Process rmProcess = runtime.exec(rmCommand);//log.info(rmCommand);deleteFile4Linux(ftpDataDir+""+fileName);// 删除我们减压缩 出来的文件夹及其文件String fileNameS = fileName.substring(0, fileName.lastIndexOf("."));//String rmCommand2 = "rm -rf "+ftpDataDir+""+fileNameS;//Process rmProcess2 = runtime.exec(rmCommand2);deleteFile4Linux(ftpDataDir+""+fileNameS);//log.info(rmCommand2);}else {results="Failure";}}else{// 不是一个标准文件log.info("不是一个标准文件");}} catch (Exception e) {System.out.println("备份文件出错:"+ftpDataDir+"/"+fileName);log.error("备份文件出错!:"+ftpDataDir+"/"+fileName);e.printStackTrace();}finally{if (in != null ) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}return results;}

?

/** * 利用linux 命令删除文件 * @param ftpDataDir  文件路径  例如 /usr/local/totm.xml * @return * @throws Exception */public void deleteFile4Linux(String ftpDataDir)throws Exception{Runtime runtime = Runtime.getRuntime();// 备份成功 删除ftp目录中的文件    String rmCommand = "rm -rf "+ftpDataDir;Process rmProcess = runtime.exec(rmCommand);log.info("------"+rmCommand);}

?

热点排行