如何在我的android项目中获取文件夹的相对路径?

时间:2010-04-23 11:08:16

标签: java android eclipse resources

如何使用代码获取项目中文件夹的相对路径?

我在项目中创建了一个新文件夹,我想要它的相对路径,所以无论应用在哪里,路径都是正确的。

我正在尝试在我的课程中进行扩展android.app.Activity

也许与"get file path from asset"类似。

8 个答案:

答案 0 :(得分:23)

使用类路径。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("path/to/folder");
File file = new File(url.toURI());
// ...

答案 1 :(得分:18)

您在寻找应用程序的根文件夹吗?然后我会用

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

实际上“找出我在哪里”。

答案 2 :(得分:6)

File relativeFile = new File(getClass().getResource("/icons/forIcon.png").toURI());
myJFrame.setIconImage(tk.getImage(relativeFile.getAbsolutePath()));

答案 3 :(得分:1)

有了这个,我找到了我的项目路径:

new File("").getAbsolutePath();

此返回" c:\ Projects \ SampleProject"

答案 4 :(得分:0)

您可以查看此示例代码,以了解如何使用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将显示文件的相对路径。

答案 5 :(得分:0)

在Android中,应用程序级元数据通过Context引用访问,该引用是活动的后代。

例如,您可以通过getApplicationInfo().sourceDir属性获取源目录。 还有其他文件夹的方法(资产目录,数据目录,数据库目录等)。

答案 6 :(得分:-1)

通常我们想在我们的Java项目和特定文件夹(如/ images)中添加图像,txt,doc等文件。 我在搜索中发现,在JAVA中,我们可以获得从Root到我们指定的文件夹的路径,

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

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

这里,request是HttpServletRequest的对象。它将获得从Root到/ images文件夹的整个路径。你会得到像

这样的输出
  

C:\用户\ STARK \工作区\ MyEclipse.metadata.me_tcat7 \ web应用\ JavaProject \图像

答案 7 :(得分:-2)

使用System.getProperty("user.dir"),您可以获得“非绝对路径基础”查看

Java Library Description