Как я могу получить относительный путь к папкам в моем проекте Android? - PullRequest
32 голосов
/ 23 апреля 2010

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

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

Я пытаюсь сделать это в моем классе, который расширяется android.app.Activity.

Возможно, что-то похожее на "получить путь к файлу из ресурса" .

Ответы [ 8 ]

23 голосов
/ 23 апреля 2010

Используйте путь к классам.

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("path/to/folder");
File file = new File(url.toURI());
// ...
18 голосов
/ 23 апреля 2010

Вы ищете корневую папку приложения?Тогда я бы использовал

 String path = getClass().getClassLoader().getResource(".").getPath();

, чтобы на самом деле "узнать, где я".

6 голосов
/ 14 января 2013
File relativeFile = new File(getClass().getResource("/icons/forIcon.png").toURI());
myJFrame.setIconImage(tk.getImage(relativeFile.getAbsolutePath()));
1 голос
/ 06 августа 2014

С этим я нашел путь моего проекта:

new File("").getAbsolutePath();

это возвращение "c: \ Projects \ SampleProject"

0 голосов
/ 27 августа 2014

Как правило, мы хотим добавить изображения, файлы txt, doc и т. Д. В наш проект Java и в определенную папку, например / images.В поиске я обнаружил, что в JAVA мы можем получить путь от Root до папки, которую мы указываем как

String myStorageFolder= "/images"; // this is folder name in where I want to store files.

String getImageFolderPath= request.getServletContext().getRealPath(myStorageFolder);

Здесь запрос является объектом HttpServletRequest.Он получит весь путь от Root до папки / images.Вы получите вывод, например,

C: \ Users \ STARK \ Workspaces \ MyEclipse.metadata.me_tcat7 \ webapps \ JavaProject \ images

0 голосов
/ 11 апреля 2012

С System.getProperty("user.dir") вы получаете "Базу неабсолютных путей" , смотрите на

Описание библиотеки Java

0 голосов
/ 23 апреля 2010

В Android доступ к метаданным уровня приложения осуществляется через ссылку Context, потомком которой является действие.

Например, каталог источника можно получить черезgetApplicationInfo().sourceDir свойство.Существуют методы и для других папок (каталог ресурсов, каталог данных, каталог базы данных и т. Д.).

0 голосов
/ 23 апреля 2010

Вы можете проверить этот пример кода, чтобы понять, как вы можете получить доступ к относительному пути, используя пример кода Java

import java.io.File;

public class MainClass {

  public static void main(String[] args) {

    File relative = new File("html/javafaq/index.html");

    System.out.println("relative: ");
    System.out.println(relative.getName());
    System.out.println(relative.getPath());
  }
}

Здесь getPath отобразит относительный путь файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...