2013-05-06 202 views
0

我必须使用exe来运行某个功能。但是该目录包含特定文件夹的某些文件夹,如“。”,“ - ”,所以它没有被执行。我可以重命名目录名称,就像我们为文件名所做的那样,我不知道需要做什么。目录名称包含特殊字符

我正在使用Linux环境。 下面是一段代码,

   newFilename = /sites/jboss-5.1.0.GA/server/dev/deploy/meen.war/temp/filename 

       String[] command_ary = { directory+"lib/fcrc", newFilename }; 

       process = runtime.exec(command_ary); 
       int exit_val = process.waitFor(); 

FCRC是我的exe文件,其随后的文件名,这里的目录包含特殊字符,所以它创造的问题。而来自其他目录林能够执行,但我需要从这个目录只能访问

和exit_val返回1

任何人都可以给我建议? 谢谢你

+1

您是否在从命令行或代码引用文件夹时遇到问题?如果来自命令行,这不是正确的论坛(请尝试http://superuser.com/)。如果来自代码,请告诉我们您的代码。此外,让我们知道您使用的是什么环境(操作系统,shell版本(如果适用)等)。 – 2013-05-06 12:30:55

+1

你能告诉我们一些代码吗? – 2013-05-06 12:35:21

+1

目前很难理解(1)*为什么*特殊字符是一个问题,(2)你想要做什么,(3)你如何去做,(4)你尝试过什么,(5)这与Java有什么关系(给定Java标签)。请尝试澄清。 – Dukeling 2013-05-06 12:35:31

回答

0

正如评论所说,如果没有看到你的代码就很难理解这个问题。如果问题是您的fcrc可执行文件无法处理路径名,那么我建议您临时复制或移动该文件;或者您创建一个指向该文件的链接并将该链接传递给您的可执行文件。

0

你有没有试过逃脱这些字符的逃生标志?

例如在Windows上,如果你想在名称空间访问文件夹,你应该逃避它:

C:\Program/ Files\something\file.txt 

这将在“程序文件”,“东西”文件夹内file.txt的到达。

如果您的情况如此,或者您使用带有“。”的文件夹。迹象试图以类似的方式逃离路径中的特殊字符。