Нет, к сожалению не работает. Свойство меняется, а каталог нет. Вычитал, что в Java вообще нельзя менять директорию в которой исполняется программа, но чё то не верится что разработчики java на столько упоротые.
Очевидно же, что папок на всех демонов не хватит, недавно сам Дьявол выступал по телевизору, сказал, что придется потесниться. Я специально на своем ноутбуке посоздавал пустых новых папок, ибо процесс не сложный, теперь жру^W жду наплива демонов.
неужели это так сложно? Если вас интересует почему так, почитайте обсуждения на последней ссылке. А разработчики джавы чуть больше понимают в программировании, я вас уверяю.
Твоя программа — это процесс. Изменение текущей директории процесса есть изменение переменной, которая отвечает за пути к файлам. Т.е. при попытке открыть ./1.txt ты откроешь файл в /, а не в каталоге, из которого запущен процесс. Если у тебя рабочие файлы процесса в директории, которую можно отмонтировать, то смена текущего каталога процесса никак от этого не спасет. Разве что ты будешь при этом все файлы копировать тоже в /.
Лол. А чё мало что ли? У меня прокрутка в низ улетела, ещё и на английском. Я всё это 30 мин переводить буду. Так что ваши претензии высосаны из пальца.
А конкретное практическое применение-то какое? Я имею ввиду отмонтирование раздела, с которого запущена java-программа? Может стоит язык программирования выбирать под задачу, а не пытаться делать на нём то, для чего он плохо подходит?
Java-программа вообще должна мало что знать о системе, на которой она работает. Как ты представляешь себе смену рабочего каталога в аплете? А в сервлете?
Если за 15 (?) лет этой возможности так и не появилось, то может не стоит доказывать людям, что это проблема языка, а выбрать более подходящий инстурмент, либо наконец осознать, что это ненужно?
И да, кастую в тред тех, кто ответит, почему процесс привязывает к себе каталог.
jar - архив, который _сразу весь_ не распаковывается никуда, а только по мере надобности их него «достаётся» требуемое. Как во время работы погрузить требуемый класс, если ты отмонтировал каталог? По аналогии с офтопичными exe-шниками с ресурсами - когда понадобится ресурс (и вообще - понадобится ли в тесущей сессии) - хз.
а не пытаться делать на нём то, для чего он плохо подходит?
Я только начал учить java, откуда я знаю для чего он подходит а для чего нет?
Как ты представляешь себе смену рабочего каталога в аплете? А в сервлете?
А как представить в аплете System.getRuntime().exec() или ProcessBuilder()?
Если за 15 (?) лет этой возможности так и не появилось, то может не стоит доказывать людям, что это проблема языка, а выбрать более подходящий инстурмент, либо наконец осознать, что это ненужно?
Я ничего не доказывая. Просто очень удивился тому, что в Java нет такой возможности. Это первый ЯП в котором я встретил такое. А потом прилетели java-программисты и начали рассказывать что мне нужно, а что не нужно. И советовать «шли бы вы на питоне/рубях педалить». Подозреваю, что у фанатов java какой то скрыты комплекс на эту тему.
А как представить в аплете System.getRuntime().exec()
апще т по дефолту это запрещено и ты этого не сделаешь. Почитай про java security что ли)
Java's security model is focused on protecting users from hostile programs downloaded from untrusted sources across a network. To accomplish this goal, Java provides a customizable «sandbox» in which Java programs run. A Java program must play only inside its sandbox. It can do anything within the boundaries of its sandbox, but it can't take any action outside those boundaries. The sandbox for untrusted Java applets, for example, prohibits many activities, including:
*Reading or writing to the local disk *Making a network connection to any host, except the host from which the applet came *Creating a new process *Loading a new dynamic library and directly calling a native method
Я ничего не доказывая. Просто очень удивился тому, что в Java нет такой возможности. Это первый ЯП в котором я встретил такое.
Т.е. вот это: «чё то не верится что разработчики java на столько упоротые» - это просто выражение удивления? А, ну тогда извини, что тебя «неупоротого» не так поняли...
А потом прилетели java-программисты и начали рассказывать что мне нужно, а что не нужно.
И этот с дислексией... Тебе попытались рассказать почему этого нет, и намекнули что это можно обойти.
А потом прилетели java-программисты и начали рассказывать что мне нужно, а что не нужно.
По-моему, упоротыми java-разработчиков назвал ты ещё до того, как тебе начали что-то доказывать:
Вычитал, что в Java вообще нельзя менять директорию в которой исполняется программа, но чё то не верится что разработчики java на столько упоротые.
И следует разделять языки, компилируемые в машинный код, с теми, которые выполняются, по сути, в «песочнице». Тебе же ещё в начале дали ссылок для чтения, но ты видимо не осилил.
Лол. А чё мало что ли? У меня прокрутка в низ улетела, ещё и на английском. Я всё это 30 мин переводить буду. Так что ваши претензии высосаны из пальца.
По-моему, упоротыми java-разработчиков назвал ты ещё до того, как тебе начали что-то доказывать
Потому, что я не думал, что java действительно не умеет менять current directory, думал такого не может быть. Вот и выразился в такой форме.
Тебе же ещё в начале дали ссылок для чтения, но ты видимо не осилил.
Что вы все этой ссылкой тычите, от того, что я прочитаю, возможности java не изменятся, и область применения не увеличится. Захочу узнать почему так, прочитаю. Буду писать демоны на других ЯП, какие проблемы? А вот java-программистов эта тема, очевидно, сильно задевает. Раз вы даже на личности начинаете переходить и придумывать мне диагнозы.
В первом посте что? «Как в java менять директорию в которой выполняется процесс?» Я не знаю как можно сформулировать это предложение проще, чтобы вы смогли его распарсить.