2012-06-18 2 views
0

В моем текущем проекте я пишу генератор кода. Интерфейсом будет командная строка.Путь к файлу в аргументах командной строки

В аргументе командной строки пользователь указывает файлы спецификаций и папку назначения, которая направляет генератор кода для генерации файлов в конкретной папке назначения.

Например, моя аргумент командной строки будет

VocArchSpec.text NetworkSpec.text ./src/fr/inria/arles/pankesh/gen ./src/fr/inria/arles/pankesh/gen/logic ./src/fr/inria/arles/pankesh/gen/sim/device ./src/fr/inria/arles/pankesh/gen/util 

В приведенной выше команде, 1 и 2 являются спецификацией и другие пути назначения. Этот путь используется генератором кода. Генератор кода генерирует несколько java-файлов в указанной папке назначения.

Но моя проблема в том, я получаю следующее сообщение об ошибке:

java.io.IOException: The system cannot find the path specified 
at java.io.WinNTFileSystem.createFileExclusively(Native Method) 
at java.io.File.createNewFile(File.java:883) 

===============> Я использую следующий код для создания файлов.

+1

Похоже, папка не существует. Можете ли вы предоставить больше кода, делающего создание файла? – Michael

+1

Выполнять все каталоги, к которым относится файл (например, если проблема связана с 'a/b/c.txt', путь' a/b' относится к допустимому пути exisitng)? – Attila

+0

Дорогой Майкл, у меня есть обновленный код, как вы предложили. Пожалуйста, посмотрите. – Pankesh

ответ

1

Одним из способов получения этого исключения является то, что путь (папка), в котором должен быть создан файл, не существует. Ваш код должен убедиться, что указанные папки существуют.

Для простого способа их создания просмотрите File.mkdirs().

+0

Спасибо cklab. Я использовал mkdir(). теперь я использую File.mkdirs(). Он работает полностью. – Pankesh

Смежные вопросы