[英]How to neglect blank spaces in a string search in html file using java?
[英]problem in opening file with multiple blank spaces using cmd
我使用java调用下面的命令
这是java初始化
String fileName="C:\\temp\\A a.txt";
String sCmd = "cmd /c start \"\" \"" + fileName + "\"";
这是我打印sCmd时得到的结果
cmd /c start '" 'C:\temp\A a.txt'
这是我运行命令的方式
Runtime.getRuntime().exec(sCmd);
文件名包含多个空格,当我从Java运行此命令时,它会抛出一个错误,因为它没有识别多个空格。当没有空格或一个空格时它会工作吗?如何通过windows命令处理多个空格的文件
示例java程序
import java.io.File;
import java.io.IOException;
public class A
{
public static void main(String[] args)
{
String fileName = "C:\\temp\\a dfdfd f.txt";
File file = new File(fileName);
String sCmd = "cmd /c start \"\" \"" + file.getAbsolutePath() + "\"";
System.out.println("exec cmd=<" + sCmd + ">");
try
{
Runtime.getRuntime().exec(sCmd);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
当我运行java代码时从Windows端出现这个错误。
这是java输出
exec cmd=<cmd /c start "" "C:\temp\a dfdfd f.txt">
而且我在Windows XP中进一步运行,这不是打开任何文件而是留空。
解:
import java.io.File;
import java.io.IOException;
public class A
{
public static void main(String[] args)
{
// String fileName = "C:\\temp\\a.txt";
String fileName = "C:\\temp\\a dfdfd f.txt";
File file = new File(fileName);
String sCmd = "cmd /c start \"\" \"" + file.getAbsolutePath() + "\"";
System.out.println("exec cmd=<" + sCmd + ">");
try
{
Runtime.getRuntime().exec(sCmd.split(" "));
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cmd /c start "C:\\temp\\A a.txt"
在命令行中起作用。 如果通过Java的Runtime.getRuntime().exec(...)
调用此命令,则需要使用反斜杠转义上述命令中的双引号Runtime.getRuntime().exec(...)
我不确定你在做什么,但如果它只是cmd /c start <filename>
那么这个引用太多了。
String sCmd = "cmd /c start \"\" \"" + fileName + "\"";
它应该是
String sCmd = "cmd /c start \"" + fileName + "\"";
作为旁白:
这是我打印sCmd时得到的结果
cmd /c start '" 'C:\temp\A a.txt'
当你的字符串中没有单引号时,我看不出你怎么能在输出中得到单引号!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.