编程中常见的4种路径,以java为例:绝对路径,相对路径,类文件路径,web路径
工具/原料
eclipse
在eclipse下路径讲解
1、在eclipse中新建项目,在src目录下创建db.properties如图所示:
2、绝对路径:一个文件的完整路径信息。一般绝对路径是包含有盘符的。绝对路径的缺陷:因为绝对路径是有盘符开头的,有些系统是没有盘符的,故只能局限于某盘符下路径下才能加载成功eg:package com.path;import java.io.File;import java.io.FileReader;import java.io.InputStream;import java.util.Properties;public class DBUtil { static Properties proAbsolutePath; static InputStream inputstream; static{ try{ //绝对路径 proAbsolutePath = new Properties(); proAbsolutePath.load(new FileReader("E:/eclispce_workspace/Re_te st01/src/db.properties")); }catch(Exception e){ e.printStackTrace(); } } public DBUtil() { } public static void main(String[] args){ System.out.println("当前路径"+new File(".").getAbsolutePath()); System.out.println("用户名:"+proAbsolutePath.getProperty("usern ame")+",密码:"+proAbsolutePath.getProperty("password")); }}
3、相对路径:是相对于当前程序的路径。当前路径就是执行门钙蹲茌java命令的时候,控制台所在的路径。 缺点:一旦切换到不同路径下去执行java文件就会报错; 优势:相对于绝对路径,可以不用去考虑盘符问题,只需要选的路径下有 你程序的文件就能成功执行java文件package com.path;import java.io.File;import java.io.FileReader;import java.io.InputStream;import java.util.Properties;public class DBUtil { static Properties properties; static InputStream inputstream; static{ try{ //相对路径 properties = new Properties(); //去加载配置文件 properties.load(new FileReader("src/db.properties")); }catch(Exception e){ e.printStackTrace(); } } public DBUtil() { } public static void main(String[] args){ System.out.println("当前路径"+new File(".").getAbsolutePath()); System.out.println("用户名:"+properties.getProperty("usernam e")+",密码:"+properties.getProperty("password")); }}
4、*类文件路径:类文件路径就是使用了classpath的路径找对应的资源文件,即src路悄钸碌灵径 与“相对路径”比较:能够通过“set cl锾攒揉敫asspath=路径 ” 这方式指定类文件路径,这样在不同盘符下执行java文件就不会报错 注意事项:classpath路径中"/"是指在src文件路径(src),并非值项目路径(Re_test01)也就是使用了类文件的话,那只能找到eclipse中src下文件,其它文件目录是找不到的;如果需要使用到类文件路径首先先要获取到一个Class对象eg:package com.path;import java.io.File;import java.io.FileReader;import java.io.InputStream;import java.util.Properties;public class DBUtil { static Properties pro; static InputStream inputstream; static{ try{ //类文件路径 pro = new Properties(); Class clazz = DBUtil.class; inputstream = clazz.getResourceAsStream("/db.pro perties"); // "/"代表了classpath路径。 getResourceAsStre am 该方法里面使用的路径就是使用了类文件路径 pro.load(inputstream); }catch(Exception e){ e.printStackTrace(); } } public DBUtil() { } public static void main(String[] args){ System.out.println("当前路径"+new File(".").getAbsolutePath()); System.out.println("用户名:"+pro.getProperty("usernam e")+",密码:"+pro.getProperty("password")); }}
在cmd下路径讲解
1、在任何盘符下创建文件夹(我这里就在D盘上建),直接将eclipse上的DBUtil类和db.properties文件复制过来注意要修改其代码:1,自己在盘符上建的项目通过都不会有src文件目录;2,将绝对路径修改成你要在哪个盘符下创建项目的路径;eg:将绝对路径的E:/eclispce_workspace/Re_test01/src/db.properties修改成:D:/delete/db.properties将相对路径的src/db.properties修改成:db.properties
2、按快捷键:window+R,接着输入cmd,开始输入命令:1,编辑命令javac -d . DBUtil.java
3、运行命令java com.path.DBUtil
4、这里要注意:(我的是在D:\delete下创建项目)1,绝对路径:左1图2,相对路径:左2图3,类文件路径:左3图