如何使用代码获取项目中文件夹的相对路径?
我在项目中创建了一个新文件夹,我想要它的相对路径,所以无论应用在哪里,路径都是正确的。
我正在尝试在我的课程中进行扩展android.app.Activity
。
答案 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")
,您可以获得“非绝对路径基础”查看