如何执行路径名中包含空格的Java System(shell)命令?
我尝试将引号和反斜杠()放在一起,但这不起作用。
ln -s "dir1/dir2" "my\ dir/dir2"
到目前为止,最可靠的方法是使用Runtime.exec(String []
cmdarray)
。
如果使用Runtime.exec(String
command)
,则Java仅在空白处分割命令。
使用调用new
StringTokenizer(command)创建的StringTokenizer将命令字符串分解为令牌,而无需进一步修改字符类别。然后以相同的顺序将令牌生成器生成的令牌放置在新的字符串数组cmdarray中。
另请参见g ++:找不到文件
或使用ProcessBuilder这样的东西:
ProcessBuilder pb = new ProcessBuilder("ln", "-s", "dir1/dir2", "my dir/dir2");
Process p = pb.start();
问题内容: 我正在尝试运行一个OSPL命令,该命令是plutil,用于将某些plist转换为json格式。我在终端中使用的命令是 路径名称带有白色间距的此命令在我的终端中可以很好地运行,并且我的终端用单引号(“)覆盖路径名,但是问题在于在Java 下面运行此命令是我编写的代码 如果我运行此代码,它将给我一个错误 我也尝试过 在命令字符串中放入撇号 按我建议的几个站点更改数组字符串中的命令 但没有一
我正在尝试运行一个OSX命令,它是plutil,用于将某些plist转换为json格式。我在terminal中使用的命令是 这个路径名为白色空格的命令在我的终端中运行良好,撇号(“)覆盖了路径名,但问题是在java的下面是我编写的代码 如果我运行此代码,它会给我一个错误 我也试过了, 在命令字符串中输入撇号 按照我的几个站点的建议更改数组字符串中的命令 但没有一个奏效。 如果我在安排命令时做错了什
问题内容: 在OS X上,我试图执行.exec某些内容,但是当路径包含空格时,它将不起作用。我尝试用引号将路径引起来,转义空格,甚至使用\ u0020。 例如,这有效: 但是,如果有空间,这些都不起作用: 有想法吗? 编辑:转义的反斜杠…仍然没有用。 问题答案: 在Sun的论坛上有关于此问题的摘要…似乎是一个非常普遍的问题,不仅限于OSX。 该主题的最后一篇文章总结了建议的解决方案。本质上,使用带
问题内容: 我正在尝试使用FileInputStream打开名称中包含空格的文件。 例如: 结果是抛出了FileNotFoundException。我试图对filePath进行硬编码,以仅查看是否应该转义空格字符,但它似乎没有用。关于这个问题有什么建议吗? 编辑:只是与每个人都在同一个页面上查看此问题…打开名称中没有空格的文件有效,具有空格的文件将失败。权限既不是这里的问题,也不不是文件夹分隔符。
我有一个主文件,它使用(从主I do a source)一个属性文件,其中的变量指向路径。 属性文件如下所示: 问题是,我必须使用带空格的路径(我不能改变它)。 我试着用引号避开空白,但到目前为止没有解决方案。 我编辑了路径,单引号的问题是我在路径中使用了另一个变量
java.io.FileNotFoundException:E:\testcode\test(系统找不到指定的文件) 在java.io.FileInputStream.Open(本机方法)在java.io.FileInputStream.(未知源)在com.org.FileSpratortTest.Main(FileSpratortest.java:16) 它不显示整个文件路径,我知道我需要把它作