1.java类路径空格
通过
String configPath=this.getClass().getResource("/").toString
这种方式获取的路径,其中的空格会被使用“%20”代替,只要使用
String configPath=this.getClass().getResource("/").toString().replaceAll("%20", " ");
就可以解决。
2、在批处理文件中如果,命令中含有空格,如下:
set JAVA_JRE=D:/Program Files/tece2.1/jre
set CATALINA_HOME=D:/Program Files/tece2.1/
call %CATALINA_HOME%bin/service install
pause
这样命令
%CATALINA_HOME%bin/service
中将含有空格,批处理文件将无法执行,需要在整个命令前后加双引号如下:
set JAVA_JRE=D:/Program Files/tece2.1/jre
set CATALINA_HOME=D:/Program Files/tece2.1/
call " %CATALINA_HOME%bin/service" install
pause
3、Runtime.getRuntime().exec() 路基中含有空格,如下:
Runtime.getRuntime().exec("cmd.exe /c D:\\Program Files\\tece2.1\\tececode\\updateprogram\\updateProgram.exe");
这样讲无法执行,需要在空格的前后加上双引号,而不是在整个路径的前后加双引号,如下:
Runtime.getRuntime().exec("cmd.exe /c D:\\Program\" \"Files\\tece2.1\\tececode\\updateprogram\\updateProgram.exe");
或者使用替换方式:
String commandStr="cmd.exe /c"+" " +realPath.realTomcatPath.replace(" ", "\" \"");
Runtime.getRuntime().exec(commandStr);
分享到:
相关推荐
在使用 java.lang.Runtime.exec() 方法时,命令参数中不能使用空格,否则将导致命令执行失败。这是因为 StringTokenizer 类将命令字符串按空格分隔,将参数解释为多个命令。这将导致命令执行失败,无法获取预期的...
在Java编程中,`Runtime.exec()`方法是一个非常实用的功能,它允许我们执行操作系统级别的命令。这篇博客"Java使用Runtime.exec()给Windows命令提示符做了个外壳,真的很山寨!"探讨了如何利用`Runtime.exec()`来...
在Java中通过`Runtime.getRuntime().exec()`方法执行外部命令时,如果路径中包含空格,则该命令可能会被解释为多个参数,导致无法正确识别目标文件路径。例如,假设文件路径为"C:\Users\Documents\My Files\file.txt...
然而,在Java中通过`Runtime.getRuntime().exec()`或`ProcessBuilder`执行命令时,可能还会遇到问题,因为这些方法在处理命令行参数时有自己的规则。在某些情况下,即使在DOS窗口中可以成功执行的命令,通过Java执行...
这里需要注意的是,如果程序路径中包含空格,则整个路径需要用引号括起来。 #### 五、等待命令执行完成 有时候我们需要等待一个命令完全执行完毕后再继续执行其他操作。这可以通过调用`Process.waitFor()`方法来...
Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。...使用 exp 和 imp 命令可以实现数据的导出和导入,而 Java 语言可以使用 Runtime.getRuntime().exec() 方法来执行这些命令。
- 对于Windows平台,使用`attrib`命令时,确保路径中包含的空格被正确引用,避免命令执行错误。 - 在实际应用中,还需要考虑异常处理机制,以确保程序的健壮性。 #### 五、示例代码 下面是一个简单的示例代码,...
Process ls_proc = Runtime.getRuntime().exec("cmd.exe /c dir \"" + escapedPath + "\" /TC"); ``` 这种方法通过替换空格来避免路径中的空格被误解释。 #### 总结 综上所述,Java提供了多种方式来获取文件的...
由于路径中包含空格,因此需要将整个路径用引号括起来。不过在这个特定例子中,因为路径中没有特殊字符,所以省略了引号。 接下来,我们看另一个示例,它展示了如何运行DOS命令: ```java public void attriber1()...
实验代码中使用了 Java 语言中的 Runtime.getRuntime().exec() 方法来执行 cmd 命令 ipconfig /all,以获取本机上的所有适配器的信息。然后,程序使用 BufferedReader 对象来读取执行结果,并找到包含 MAC 地址的...
Java通过`Runtime.exec()`或`ProcessBuilder`类提供了这样的功能。 首先,我们可以使用`Runtime.getRuntime().exec(command)`方法来执行系统命令。`command`字符串应包含完整的命令行,包括脚本路径和所有参数。...
本文将深入探讨如何使用Java来调用Shell脚本,包括基本原理、代码实现、常见问题及解决策略。 ### 基本原理 Java调用Shell脚本主要依赖于`java.lang.Runtime`类中的`exec()`方法。此方法允许Java程序启动新的进程...
2. **命令行分隔符**:在Windows上,命令通常由空格分隔,因此需要对包含空格的路径使用引号包裹,如`"C:\\Program Files\\example"`。 3. **输入/输出流管理**:执行的命令可能需要读写数据,可以通过Process对象的...
首先,我们需要了解Java中的`Runtime.getRuntime().exec()`方法。这个方法允许我们执行一个外部进程,也就是调用系统命令。在案例中,我们想要执行的是WinRAR的压缩命令。初始代码如下: ```java String cmd = "C:/...
FlashPaper转换功能是通过Runtime.getRuntime().exec()方法来实现的,命令为: ```bash flashPaperSrc + " -o " + swfFileSrc + swfFileName + " " + sourceFileSrc + sourceFileName ``` 该命令将源文件转换为SWF...
process = Runtime.getRuntime().exec("ifconfig eth0"); bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = null; int index = -1; while ((line = ...
例如,使用`Runtime.getRuntime().exec()`方法执行shell命令时,如果参数字符串中包含空格,会将参数截断,默认为参数只到空格处。 解决方法是将shell命令或脚本和参数放入一个数组中,然后将数组传入`exec()`方法...
2. **异常处理**:如出现异常(如许可证过期),需按文档提供的解决办法处理。 3. **安全考虑**:对于执行命令的部分(`Runtime.getRuntime().exec()`),需要谨慎使用,避免执行恶意代码导致的安全问题。 通过上述...