如何使用代码获取项目中文件夹的相对路径?如何获取我的android项目中文件夹的相对路径?
我在我的项目中创建了一个新文件夹,我希望它的相对路径如此,无论应用程序位于何处,路径都是正确的。
我想在我的课程中做到这一点,它扩展了android.app.Activity
。
也许类似于"get file path from asset"。
如何使用代码获取项目中文件夹的相对路径?如何获取我的android项目中文件夹的相对路径?
我在我的项目中创建了一个新文件夹,我希望它的相对路径如此,无论应用程序位于何处,路径都是正确的。
我想在我的课程中做到这一点,它扩展了android.app.Activity
。
也许类似于"get file path from asset"。
使用类路径。
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("path/to/folder");
File file = new File(url.toURI());
// ...
您可以检查此示例代码,来了解如何使用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将显示该文件的相对路径访问的相对路径。
在Android中,应用程序级元数据通过Context
引用进行访问,该引用是活动的后代。
例如,您可以通过getApplicationInfo().sourceDir
属性获取源目录。 还有其他文件夹的方法(资产目录,数据目录,数据库目录等)。
我没有找到如何获得应用程序路径与此可以更具体吗? – 2010-04-23 16:33:10
这样我就只能得到包中的文件夹。 我需要获得一个相对路径来创建我在项目中创建的文件夹(不在包内)。像资产的文件夹。 你能给我可以做到的功能吗? – 2010-04-24 14:10:11
您是否正在寻找应用程序的根文件夹?然后,我会使用
String path = getClass().getClassLoader().getResource(".").getPath();
实际上“找出我在哪里”。
我以前试过,我得到“/”但这是不对的。 (因为我试图找到它不存在的文件) – 2010-04-23 16:34:23
你在哪个平台/操作系统上运行?只需“/”将表示Unix/linux/OSX,并且您正在从文件系统的根路径运行应用程序。如果这不正确,请提供更多信息。 – Kennet 2010-04-23 19:57:11
我的操作系统是win7,路径是:“D:\ Eclipse \ Workspace \ Project Name” 不要忘记这是一个我正在使用模拟器运行的Android应用程序 – 2010-04-24 09:44:09
随着System.getProperty("user.dir")
你得到“的非绝对路径基地”看看
File relativeFile = new File(getClass().getResource("/icons/forIcon.png").toURI());
myJFrame.setIconImage(tk.getImage(relativeFile.getAbsolutePath()));
有了这个,我发现我的项目路径:
new File("").getAbsolutePath();
这个回报“c:\ Projects \ SampleProject”
通常我们要在我们的Java项目和特定文件夹(如/ images)中添加图像,txt,doc等文件。 我在寻找,在Java中,我们可以从根获得路径文件夹,我们指定为发现,
String myStorageFolder= "/images"; // this is folder name in where I want to store files.
String getImageFolderPath= request.getServletContext().getRealPath(myStorageFolder);
这里,请求的HttpServletRequest对象。它将得到从根到/ images文件夹的整个路径。你会得到像输出,
C:\ STARK \工作区\用户\ MyEclipse.metadata.me_tcat7 \的webapps \ JavaProject \图像
如果 “路径/到/文件夹” 你的意思是我需要插入到项目文件夹的路径,所以它有什么意义....? – 2010-04-23 12:05:50
它与类路径根相关。你不需要'c:/ absolute/path/to/java/program'。尝试以上。打印'url'或'file'的结果。玩它,你会明白。 – BalusC 2010-04-23 12:08:56
我仍然不明白我要放什么,而不是 - >“路径/到/文件夹” – 2010-04-23 16:22:28