Java之路径(待续)

Java中的路径问题

配置文件的路径应该如何写呢?

1、绝对路径:一个文件的完整路径信息。一般绝对路径是包含有盘符 的。 绝对路径的缺陷: 因为绝对路径是有盘符开头的,有些系统是没有盘符的。

2、相对路径: 相对路径是相对于当前程序的路径。当前路径就是执行java命令的时候,控制台所在的路径。

比如:

(System.out.println("当前路径:"+ new File(".").getAbsolutePath() );获取当前路径的代码)

3、类文件路径 :类文件路径就是使用了classpath的路径找对应的资源文件。

  如果需要使用到类文件路径首先先要获取到一个Class对象。

获取类文件路径的方法:

Class clazz = DBUtil.class;
InputStream inputStream = clazz.getResourceAsStream("/db.properties"); // "/"代表了Classpath的路径。

                                      // getResourceAsStream 该方法里面使用的路径就是使用了类文件路径。

类的路径是包的之前

例如:f:\hello\cn\wang\it\DBUtil.class;此包包含cn.wang.it,因此类路径为f:\hello\

类路径:

(出处:http://www.cnblogs.com/xwdreamer)

CLASSPATH是什么?它的作用是什么?

它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:/jdk/ 目录下,你得把c:/jdk/这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java/util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!CLASSPATH有点像c/c++编译器中的INCLUDE路径的设置哦,是不是?当c/c++编译器遇到include 这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。

 

posted @ 2017-02-23 20:38  mslog  阅读(208)  评论(0编辑  收藏  举报