【问题标题】:How to tell java to ignore spaces如何告诉java忽略空格
【发布时间】:2015-05-08 20:24:11
【问题描述】:

我有一个要执行的字符串。该字符串包含指向MacOS .x 文件的路径,该文件的路径名中有一个空格。当我运行它时,Java 告诉我它无法运行该程序。

"/Users/brianallison/Documents/Java/RELAP5 GUI/issrs/dist/relap5.x" -i "Choose your input file" -r "" -o ""

2015 年 5 月 8 日下午 2:19:37 my.issrs.issrsUI btnRunRelapActionPerformed 严重:null java.io.IOException:无法运行程序 “/Users/brianallison/Documents/Java/RELAP5”:错误=2,没有这样的文件或 目录

我尝试在路径周围加上引号,但 Java 忽略了引号。正如您在第一行中看到的那样,它应该是如何进行的,但 Java 在 RELAP5 处切断了它。

【问题讨论】:

  • 如果这是你程序的命令行参数,处理它的代码在哪里?
  • 作为一种解决方法,您可以重命名目录以避免出现空格。
  • 请给我们看看java代码
  • 您是否尝试过使用ProcessBuilder
  • 永远不要使用Runtime.exec(String)。它的设计构思不周且脆弱,这就是您失败的原因。您应该始终使用Runtime.exec(String[])ProcessBuilder

标签: java spaces


【解决方案1】:

尝试用反斜杠转义空格:

"/Users/brianallison/Documents/Java/RELAP5\ GUI/issrs/dist/relap5.x" -i "Choose your input file" -r "" -o ""

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2011-12-17
    • 2018-03-06
    相关资源
    最近更新 更多