2016-10-27 4 views
1

Привет Я попытался открыть файл в Проводнике для приложения чата с помощью Java, используя код Runtime.getRuntime().exec("explorer.exe /select," + recievedFile);Невозможно открыть файл в проводнике, когда запятая в имени файла

Это работает отлично, за исключением, когда есть в файле comma(",") имя.

Я не могу заменить comma(",") пустым пространством или некоторыми другими символами, потому что я должен сохранить имя файла.

Любые другие возможности? Без изменения имени файла? Мне нужно, чтобы файл был выбран и открыт в новом окне проводника. Благодарю.

+0

Возможный дубликат http://stackoverflow.com/questions/161859/using-quotes-within-getruntime -exec –

+0

Работает ли окружающее имя с двойными кавычками? И у вас действительно есть файл, который называется 'comma (", ")'? Можете ли вы добавить ** настоящее ** имя файла? –

+0

См. Также [Когда Runtime.exec() не будет] (http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html) для многих хороших советы по правильному созданию и обработке процесса. Затем проигнорируйте это, ссылаясь на 'exec' и используйте' ProcessBuilder' для создания процесса. Также разбейте 'String arg' на' String [] args' для учета таких вещей, как пути, содержащие пробельные символы (или запятые). –

ответ

1

Вы можете изменить свой код так, чтобы иметь возможность открывать файлы с запятой в имени файла:

Runtime.getRuntime().exec("explorer.exe /select,\"" + recievedFile + "\""); 
Смежные вопросы