JAVA 路径详解
来源:互联网 发布:精易编程助手 编辑:程序博客网 时间:2024/05/16 07:34
前言
绝对路径和相对路径
绝对路径:绝对路径就是文件在系统中的真实路径,如c:\test\test1.txt相对路径:相对路径表示相对于一个路径后的路径,比如上面的test1.txt相对于c:\text这个路径就是test.txt,相对于c:\这个路径就是text\text1.txt,参照路径不同,相对路径就不同。在java一般项目中,相对路径一般取的是workspace下具体项目路径,比如workspace下面有个test项目,这个项目下的相对路径就是相对于workspace\test的路径。
正斜杠(/)和反斜杠()的差别
在window系统中路径分割符以\区分,而在linux系统中路径分割符以/区分。在java系统中\和紧跟着它的那个字符构成转义字符,所以在window环境下c:\test\test1.txt的路径要用c:\\test\\test1.txt表示(或者直接用c:/test/test1.txt)。
Java File路径
绝对路径
绝对路径直接写文件在硬盘上的路径
public class Test { public static void main(String[] args){ //这个简单不多讲 System.out.println(new File("C:/test/test1.txt").getAbsolutePath()); }}
相对路径
普通File路径
环境
工作目录:c:\workspace
项目路径:c:\workspace\PathTest
带正斜杠/开头的路径,是相对于项目源文件的根路径(c:),比如:
new File("/test.txt")//这个文件路径就是c:/test.txt
不带/开头的路径,是相对于Java项目目录的路径(“c:\workspace\PathTest\”),比如
new File("test.txt")//这个文件路径就是c:\workspace\PathTest\test.txt
- “./”开头代表的Java项目目录(“c:\workspace\PathTest\”)
new File("./test.txt")//相当于new File("test.txt")
- “../”开头代表的是Java项目的父目录(“c:\workspace\”)
new File("../test.txt")//这个文件路径就是c:\workspace\test.txt
ClassPath路径###
一般项目打包后,类文件会生成在指定的目录里面,我们可以通过右键项目属性进程查看
这里src下的源文件打包后生成的class文件都会在WEB项目的Build/classes下面,普通的项目会在bin文件下面,maven项目也会有默认的输出目录,打开可以自行查看。
这样假设我们使用普通的路径方法访问src里面的一个文件,要使用new File(”src/文件路径”)。倒是导出文件后src这个目录没有了,这样我们的代码就会报错,所以一般情况下建议使用相对于classpath的路径。
//通过Class和通过ClassLoader两种方式获取的classpath的url(file:/C:/Users/Administrator/workspace/PathTest/build/classes/)PathTest.class.getClassLoader().getResource("")//获取的classpath的test.txt(file:/C:/Users/Administrator/workspace/PathTest/build/classes/test.txt)如果没有的话则返回nullPathTest.class.getClassLoader().getResource("test.txt")//PathTest.class.getResource("")获取的是获取的值跟PathTest.class.getClassLoader().getResource("")一样//PathTest.class.getResource("/")获取的就是相对于PathTest这个类路径了值为classpath+包路径PathTest.class.getClassLoader().getResource("")
其实看源码知道 类名.class.getResource(“”)这种方式底层还是调用的Classloader的方法,通过类调用的时候参数如果以“/”开头会自动将/转换为ClassPath的路径+类的包路径+/后面的路径,然后通过classloader调用。
阅读全文
0 0
- java 路径详解
- Java文件路径详解
- Java文件路径详解
- Java路径操作详解
- JAVA 路径详解
- 数据结构----关键路径详解(Java)
- [转载]Java文件路径详解
- [转载]Java文件路径详解
- JAVA路径操作的详解
- java中路径问题详解
- java web相对路径 绝对路径详解
- Java 资源文件路径详解(getResource)
- 关于JAVA项目中CLASSPATH路径详解
- 关于JAVA项目中CLASSPATH路径详解
- 关于JAVA项目中CLASSPATH路径详解
- 关于JAVA项目中CLASSPATH路径详解
- 关于JAVA项目中CLASSPATH路径详解
- Java 资源文件路径详解(getResource)
- Lua之实现一个bool数组
- 机器学习方法论
- erlang安装
- Python yield 使用浅析
- Android NDK: From Elementary to Expert Episode 11
- JAVA 路径详解
- Java中使用System.out.printf().如何控制输出格式及类型不一致的解决方法
- MySQL 字符截断攻击
- C语言中枚举(enum)类型的用法
- 03.07 Linux发展史
- 青春对白,邮寄我的时光
- 软件著作权的鉴定材料提交
- Go编程——变量、函数导出与首字母大写
- ViewAnimationUtils初体验