Java获取文件路径的几种方式
关于绝对路径和相对路径: 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。
http://www.sun.com/index.htm也代表了一个URL绝对路径。相 对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),
例如:在 Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代 表上级目录。这种类似的表示,也是属于相对路径。
另外关于URI,URL,URN等内容,请参考RFC 相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax, (http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。
2.1服务器端 的地址服务器端的相对地址指的是相对于你的web应用的地址,
这个地址是在服务器端解析的(不 同于html和javascript中的相对地址,他们是由客户端浏览器解析的)
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f);
结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin 获取当前类的所在工程路径;
如果不加“/” File f = new File(this.getClass().getResource("").getPath()); System.out.println(f);
结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test 获取当前类的绝对路径;
第二种: File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() ; System.out.println(courseFile);
结果: C:\Documents and Settings\Administrator\workspace\projectName 获取当前类的所在工程路径;
第三种: URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
另外在开发中,只需要将文件路径用/ 是在windows 和linux系统都可以拿到