C# 打开文件问题
在过去的一个小时里,我试图运行一个可执行jar,但是我得到了一个标准错误C# 打开文件问题,c#,jar,executable-jar,C#,Jar,Executable Jar,在过去的一个小时里,我试图运行一个可执行jar,但是我得到了一个标准错误无法访问jarfile。过了一会儿,我确定这是一个引号问题,因为路径包含空格 但是,我将路径存储在一个字符串变量中,当我尝试用双引号连接包含jar路径的字符串时,仍然失败。我应该如何解决这个问题 举例说明: string path = /* %appdata% folder */ + ""\\Application Name\\" + "Application.jar"; //add the double quotes p
无法访问jarfile
。过了一会儿,我确定这是一个引号问题,因为路径包含空格
但是,我将路径存储在一个字符串变量中,当我尝试用双引号连接包含jar路径的字符串时,仍然失败。我应该如何解决这个问题
举例说明:
string path = /* %appdata% folder */ + ""\\Application Name\\" + "Application.jar";
//add the double quotes
path = path + "\"";
path += "\"";
Process javaProcess = new Process()
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "javaw";
startInfo.Arguments = @"-jar " + path;
//startInfo.Arguments = @"-jar" + "\"C:...\\Application\\Application.jar\"";
//this one works, though
javaProcess.StartInfo = startInfo;
javaProcess.Start(); //Fails - cannot access jarfile!
在命令行中运行.jar文件时,忽略文件名末尾的.jar
javaw -jar Application
我可能很愚蠢。真蠢 我解决了,伙计们。在我的代码中,我使用了
System.IO.Path
来组合路径,但这实际上破坏了路径,以至于javaw
无法识别路径。因此,我将其改为:
string path=“\”“+%appdata%+文件名+”\”代码>
而且效果很好 实际上,no-files必须有一个jar扩展才能运行。刚刚用命令行检查过。