2013-07-22 6 views
0

Мой java-файл, например, имеет такой путь com.company.project.util и файл javaClass.java. В этом файле я пишу процедуру для чтения другого файла, который находится в папке META-INF/example.xml.Какой относительный путь необходим

Обе эти папки com.company.project.util и META-INF находятся в одной папке src. Какой относительный путь я должен передать в этот javaClass.java, чтобы получить example.xml? Сколько раз нужно использовать ../? Потому что я немного смущен этим большим именем пакета.

+0

Вы загружаете файл с помощью FileInputStream, или getResourceAsStream(), как объясняет ответ Джайеса, или какой-то другой механизм? – Will

+0

@Will, используя FileReader –

+1

Тогда это зависит от того, где вы вызываете программу Java. Это рабочий каталог. Если вы не уверены в рабочем каталоге, вы можете System.out.println (новый файл(). GetAbsolutePath()); – Will

ответ

0

Если вы запускаете программу из корня пакета (src) и используете FileReader, как упоминалось выше, вы просто используете «META-INF/example.xml». Измените этот путь соответствующим образом, если рабочий каталог отличается.

0

Просто чтобы дать вам пример

Мой Test1 класс находится в пакете по умолчанию и моя папка ресурсов находится в папке Src, я могу получить доступ к ресурсу. вы можете сопоставить свою потребность в этом.

общественного класса Test1 {

public static void main(String[] args) { 
    new Test1(); 
} 
Test1(){ 
    BufferedInputStream file= (BufferedInputStream) this.getClass().getResourceAsStream("resources/a.txt"); 
    try { 
     System.out.println((char)file.read()); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

}

Кроме того, если ваш класс Java в любом пакете, то вы можете перейти в класс путь, используя «../» как один шаг назад для каждой папки , как только вы достигнете пути класса, укажите путь к ресурсу.

0

Если файл находится в папке источника, то это на вашем пути к классам, вы сможете загрузить его абсолютный путь в качестве ресурса:

this.getClass().getResourceAsStream("/META-INF/example.xml"); 
Смежные вопросы