2015-02-27 7 views
0

Im, дающий путь изображения к файлу свойств и получая путь к классу Image в моем pdfGenerating классе. как:Невозможно получить относительный путь к абсолютному пути в java

properties.load(DownloadPdf.class.getResourceAsStream("/resource.properties")); 
System.out.println("--properties----"+properties); 
System.out.println("-path-"+properties.getProperty("logoPath")); 
//String path = properties.getProperty("logoPath"); 
//URL uri = Paths.get(path).toUri().toURL(); 
System.out.println("---path-"+properties.getProperty("logoPath")); 
Image image = Image.getInstance(properties.getProperty("logoPath")); 

Вот мой logopath является:

path----------------C:/Users/Home/Documents/workspace-gofindo/.metadata/.plugins/org.eclipse.wst.server.core/..... 

Но я получаю путь в

Image.getInstance(properties.getProperty("logopath")); 

как

C:\Users\Home\Documents\workspace-gofindo\.metadata\.plugins\org. 

Я попытался с заменой и replaceAll() для преобразования '\' в '/' снова класс изображения, преобразующийся в '\'. Как получить мой абсолютный путь, который я указал в файле свойств точно в метод Image.getInstance()

+0

Вы знаете, что \ * есть * правильный символ на окнах, не так ли? (/ также поддерживается в качестве бонуса) – immibis

+0

И \ vs/не имеет никакого отношения к абсолютным vs относительным путям. – immibis

+0

Какой класс 'Image' это? –

ответ

0

Я переделал способ, которым я могу прочитать путь к файлу, как показано ниже.

 // Load path of the Image from Properties file 
     Properties properties = new Properties(); 
     properties.load(this.getClass().getResourceAsStream(
       "/resource.properties")); 
     // To get the Path of the Context 
     String contextPath = request.getContextPath(); 
     String split_path[] = contextPath.split("/"); 
     contextPath = request.getRealPath(split_path[0]); 
     Image image = Image.getInstance(contextPath 
        + properties.getProperty("logoPath")); 
     image.scaleAbsolute(120f, 60f);// image width,height 
Смежные вопросы