private static voID copyfileslinux(String strSource,String strDestination) { String s; Process p; try { // cp -R "/tmp/S1/"* "/tmp/D1/" p = Runtime.getRuntime().exec( "cp -R '" + strSource + "/'* '" + strDestination + "/'"); System.out.println("cp -R \"" + strSource + "/\"* \"" + strDestination + "/\""); System.out.println("cp -R '" + strSource + "/'* '" + strDestination + "/'"); System.out.println(p.toString()); BufferedReader br = new BufferedReader(new inputStreamReader( p.getinputStream())); while ((s = br.readline()) != null) System.out.println("line: " + s); p.waitFor(); System.out.println("exit: " + p.exitValue()); p.destroy(); } catch (InterruptedException IEx) { IEx.@R_404_1715@(); } catch (IOException iox) { iox.@R_404_1715@(); } catch (Exception e) { e.@R_404_1715@(); }}
输出:
cp -R "/tmp/S1/"* "/tmp/D1/"cp -R '/tmp/S1/'* '/tmp/D1/'java.lang.UNIXProcess@525483cdexit: 1解决方法 当您使用Runtime.exec()的任何变体时,将直接调用二进制文件,而不是通过shell调用.这意味着 wildcards are not supported,因为没有shell来扩展它们.
我建议使用Java代码来复制你的文件 – 它会更便携,更安全.除此之外,您可以使用shell二进制文件通过其-c选项执行命令.
总结以上是内存溢出为你收集整理的Linux从Java程序复制文件全部内容,希望文章能够帮你解决Linux从Java程序复制文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)