Я делаю свой собственный язык программирования под названием «Mast» в java для своего исследования. Я создал компилятор под названием "cmpmast", который работает аналогично javac и g cc в том смысле, что это приложение командной строки.
Я скомпилировал проект java для этого компилятора, чтобы файл .exe и поместите его в папку, которую я добавил в PATH (windows 10). Кажется, все работает нормально, за исключением поиска входных файлов: скажем, у нас есть папка типа «C: \ users \ me \ desktop \ folder», которая содержит пустой файл «hello.mast». когда я открываю cmd, меняю каталог на эту папку и выполняю команду C:\users\me\desktop\folder>cmpmast hello.mast
, программа не может найти файл.
После некоторой отладки я обнаружил, что она не смотрит внутрь компакт-диска cmd, но внутри папки, в которую я поместил файл cmpmast.exe.
Чтобы найти файл, я просто использовал класс java .io.File, например: File inputFile = new File(pathname);
где путь - это аргумент, переданный моему компилятору (cmpmast).
Как мне получить компакт-диск системной консоли (cmd), в которой я запускаю свой компилятор, изнутри программы java? Я предполагаю, что это возможно, поскольку все компиляторы командной строки, которые я использовал, работали следующим образом.
Я уже пытался использовать System.getProperty("user.dir")
, и это привело к тому же нежелательному пути.