首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaRuntime.exec(String[])平台独立吗?

JavaRuntime.exec(String[])平台独立吗?
EN

Stack Overflow用户
提问于 2018-10-07 23:52:48
回答 2查看 0关注 0票数 0

有一些通过Runtime.getRuntime.exec(String)运行命令的代码,它可以在Windows上运行。当我将代码移动到Linux时,它崩溃了,修复它的唯一方法是切换到exec(String [])版本。如果我这样离开,代码在Windows和Linux上的工作方式是否相同,或者我应该在Windows上使用exec(String)和在Linux上使用exec(String [])?

EN

回答 2

Stack Overflow用户

发布于 2018-10-08 07:54:06

用于将exec(String)参数拆分为String []的默认Tokeniser只是按空格字符拆分它们。不会像手动输入的shell命令那样解释引号,因此您应该调用String []版本。但是,如果您在两个平台上使用Sun JDK,则行为应该类似。但是,由于Windows提供与其他操作系统不同的shell命令(例如复制而不是cp),因此你的命令可能无法在所有平台上运行。

票数 0
EN

Stack Overflow用户

发布于 2018-10-08 09:32:14

来自[api] [1]

此方法检查cmdarray是否为有效的操作系统命令。哪些命令有效取决于系统,但至少该命令必须是非空字符串的非空列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档