2013-04-11 3 views
1

Я ищу код new FileInputStream("config.properties").Поиск абсолютного пути

У меня есть тот же файл «config.properties» в нескольких местах моего проекта (выполняется поиск файлов Windows), и теперь я запутался в том, к какому вызову относится эта функция. Как я могу узнать абсолютный путь файла?

Я нашел это в Интернете, но это местоположение не похоже на правильный ответ.

"ClassName".class.getProtectionDomain().getCodeSource().getLocation().getPath() но это не выглядит. Можете ли вы исправить это, если я не прав

+0

файл Файл = новый файл ("config.properties"); file.getAbsolutePath(); – NullPointerException

+0

Справа. Я смотрел на класс FileInputStream и пытался, если бы у него был какой-либо метод, чтобы найти абсолютный путь, но я могу просто передать имя пути в класс File, а затем найти ответ. –

ответ

6

Вы можете использовать File:

File f = new File("config.properties"); 
System.out.println(f.getAbsolutePath()); 

пути возвращаемом будет выведен из текущего рабочего каталога.

+0

спасибо. Есть ли способ изменить и установить относительный путь для моей программы и начать ссылаться на другие каталоги, используя этот каталог в качестве базы? –

+0

Вы можете определить текущий каталог вашей программы, используя 'new File (" ")'. Затем постройте все пути из этого. – hmjd

+0

уверен. Но могу ли я изменить эту контрольную точку на другой каталог, который более уместен? –

1
File f = new File("config.properties"); 
String dirPath = file.getParentFile().getAbsolutePath() 
+0

спасибо. Есть ли способ изменить и установить относительный путь для моей программы и начать ссылаться на другие каталоги, используя этот каталог в качестве базы? –