提问人:Guigui 提问时间:2/1/2017 最后编辑:Guigui 更新时间:2/3/2017 访问量:128
类参数缺少最终引号
class parameter missing final quote
问:
我有以下代码
public class MyClass {
public MyClass (String myString){
myFlag=myString
}
ProcessBuilder pb = new ProcessBuilder("Path to my application", "variousflags", myFlag)
Process p = pb.start();
}
当我跑步时
myClass("worddocument.doc")
PB 不启动。在调试 MyClass 时,我注意到:
myFlag ="worddocument.doc
没有最终报价。要使标志在 ProcessBuilder 中起作用,它必须在引号内。 我必须包括这一行
myFlag= myFlag.concat(""");
这给了我Netbeans“unclosed string literal”中的错误消息。如何摆脱 neatbeans 错误,或者更好的是,我怎样才能取回最终报价? 谢谢
答:
2赞
Stefan Lindner
2/1/2017
#1
stringFlag= stringFlag.concat(""");
将导致问题,因为您的 IDE 认为您在第二个引号处关闭了 String。
尝试转义第二个引号。
stringFlag= stringFlag.concat("\"");
评论
0赞
MayurB
2/1/2017
在 processbuilder 构造函数中添加逗号应该可以解决这个问题。ProcessBuilder pb = new ProcessBuilder(“我的应用程序的路径”, “variousflags” ,myFlag);
0赞
Guigui
2/1/2017
@Stefan Lindner:谢谢,这就是我需要的。我以前试过,但它不起作用,我一定是用 / 而不是 \。
0赞
Guigui
2/1/2017
@MayurB对不起,我已经有了,在我的 pb 定义中,我忘了把它们放在我的代码中。现在将更新。
0赞
Guigui
2/3/2017
#2
问题现在已经消失了:-)这一定是 netbeans 或 java 中的错误...... 不幸的是,我无法重现该问题,并且我不确定它何时自行修复。 如果遇到同样的问题,我建议: 1-重新启动计算机, 2-重新启动 Netbeans, 3-注释掉
myFlag= myFlag.concat("\"");
评论
stringFlag
myFlag
String
String
ProcessBuilder
String
==