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