2017-02-16 7 views
0

Я пытаюсь получить доступ к файлу GeoLiteCity, он работает на моей локальной машине, но не может получить путь к облаку (Azure). файл, сохраненный в точности иерархии как:Доступ к локальному файлу в облачной среде

/src/main/resources/database/GeoLiteCity.dat 

Мой код:

void getFile() { 
    if (this.file == null) { 
     try { 
      URL url = this.getClass().getClassLoader().getResource("database/GeoLiteCity.dat"); 
      this.file = new File(url.toURI()); 
      System.out.println(file.getPath().toString()); 

     } catch (Exception ex) { 
      System.out.println(file.getPath().toString(),ex); 
     } 
    } 
} 
+0

Какую службу Azure вы использовали? Azure WebApps или облачные сервисы? –

ответ

0

Предположение о том, что код является частью Java WebApp работает на Tomcat. По моему опыту, если вы хотите получить ресурс по методу this.getClass().getClassLoader().getResource("<the data file path relative to the root classes path>"), пожалуйста, убедитесь, что файл данных GeoLiteCity.dat по пути webapps/<your-webapp-name>/WEB-INF/classes/database/.

Если ваш webapp был развернут на Azure WebApp, я думаю, вы можете попытаться использовать абсолютный путь файла данных на Azure WebApp, например D:/home/site/wwwroot/webapps/<your-webapp-name>/<the data file path>, и использовать только new File("<the absolute path of data file>").

 Смежные вопросы

  • Нет связанных вопросов^_^