From ccbe40edcd772214ac3df40be1f582b6acea63f4 Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期一, 12 四月 2021 15:50:09 +0800 Subject: [PATCH] 优化代码 --- src/main/java/com/ots/project/tool/ShellTool.java | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/ots/project/tool/ShellTool.java b/src/main/java/com/ots/project/tool/ShellTool.java index ce2612f..715583b 100644 --- a/src/main/java/com/ots/project/tool/ShellTool.java +++ b/src/main/java/com/ots/project/tool/ShellTool.java @@ -10,9 +10,12 @@ StringBuilder builder = new StringBuilder(); if (os.toLowerCase().startsWith("mac")) { builder.append("/Applications/LibreOffice.app/Contents/MacOS/soffice --headless --convert-to "); + } else if(os.contains("Windows")){ + builder.append("cmd /c start soffice --headless --convert-to "); } else { builder.append("libreoffice6.4 --headless --convert-to "); } + builder.append(type).append(" "); builder.append("--outdir " + targetPath).append(" "); builder.append(sourcePath).append(" "); @@ -24,8 +27,36 @@ } } catch (Exception e) { } - return exec(builder.toString()); + return run_cmd(builder.toString()); } + + public static String run_cmd(String strcmd) { + // + Runtime rt = Runtime.getRuntime(); //Runtime.getRuntime()杩斿洖褰撳墠搴旂敤绋嬪簭鐨凴untime瀵硅薄 + Process ps = null; //Process鍙互鎺у埗璇ュ瓙杩涚▼鐨勬墽琛屾垨鑾峰彇璇ュ瓙杩涚▼鐨勪俊鎭�� + try { + ps = rt.exec(strcmd); //璇ュ璞$殑exec()鏂规硶鎸囩ずJava铏氭嫙鏈哄垱寤轰竴涓瓙杩涚▼鎵ц鎸囧畾鐨勫彲鎵ц绋嬪簭锛屽苟杩斿洖涓庤瀛愯繘绋嬪搴旂殑Process瀵硅薄瀹炰緥銆� + ps.waitFor(); //绛夊緟瀛愯繘绋嬪畬鎴愬啀寰�涓嬫墽琛屻�� + } catch (IOException e1) { + e1.printStackTrace(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + int i = ps.exitValue(); //鎺ユ敹鎵ц瀹屾瘯鐨勮繑鍥炲�� + if (i == 0) { + System.out.println("鎵ц瀹屾垚."); + } else { + System.out.println("鎵ц澶辫触."); + } + + ps.destroy(); //閿�姣佸瓙杩涚▼ + ps = null; + + return null; + } + private static String exec(String command) { String returnString = ""; Runtime runTime = Runtime.getRuntime(); -- Gitblit v1.9.1