В чем разница между "user.dir" и "."?
Я вижу вопрос "что означает user.dir?" как это определяется, почему он не работает должным образом, как это изменить. Но я не вижу основного вопроса: зачем нам нужен "user.dir", после всех поддерживаемых операционных систем "." для текущего каталога?
я вижу это user.dir
= абсолютный путь к текущему каталогу .
относительно. Это просто сокращение для File(".").getAbsoluteFile().getParentFile().getName()
?
2 ответа
Я думаю, что цель "user.dir"
Это свойство совпадает с командой pwd в Linux или GetCurrentDirectory в Windows. Я думаю, что это более понятно, потому что мы четко используем pwd
когда мы хотим получить (абсолютный) путь к текущему каталогу. По сравнению, .
является сокращением для текущего каталога, когда вам не интересно его знать, а просто скажите системе, что мы хотим использовать текущий путь. В этом случае целесообразно использовать сокращение. Первые средства current path relative to the root
второй - current path relative to the current path
,
Разница может быть важной, когда вы общаетесь между процессами. Если вы передаете путь к другому процессу в вашей системе, он может иметь другой текущий каталог, и, таким образом, вы предпочтете абсолютный путь. С другой стороны, если вы передаете путь в другую систему, тогда предпочтительным может быть относительный путь.
Потому что текущий каталог может меняться в зависимости от программы, перемещающейся по файловой системе. Каталог, из которого запущена программа, не может быть изменен.