java包路径
㈠ java中如何获取一个jar包的路径
获取jar包的路径的方法:
xxxxx.class.getProtectionDomain().getCodeSource().getLocation()
其中xxxxx是类名
㈡ java工程里头直接建的包路径和在src下建的包路径有什么区别
------解决方案-------------------------------------------------------- 你直接建的包路径,会默认到src 根目录下,就是这样子,不然的话编译文件不放在bin 下 放在哪里呢??如果是web 项目就在 WEB-INF 的classes 下面。 ------解决方案-------------------------------------------------------- .java 的文件在src 文件夹,编译过后的.class 文件在bin 文件夹 ------解决方案-------------------------------------------------------- ------解决方案-------------------------------------------------------- 放哪都可以 随便可以放
㈢ 怎么找到自己的java安装路径
Windows下查看方法:
1、win键 +R 进入运行命令窗口。
Linux下查看方法:
[root@localhost ~]# echo $JAVA_HOME
(3)java包路径扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
㈣ java项目中文件的路径
java项目中文件的路径-方法大全
一、 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于tomcat安装目录in)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStreamis=TestAction.class.getClassLoader().getResourceAsStream("test.txt");(test.txt文件的路径为 项目名src est.txt;类TestPath所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句(没有请求的话会抛空指针导常)
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:F: omcat-6.0.36webapps est(test为项目名字)
如果是调用了s1.getRealPath("")则输出F: omcat-6.0.36webapps est(少了一个"")
2 从httpServletRequest出发(没有请求的话会抛空指针导常)
String path=request.getSession().getServletContext().getRealPath("/");
结果形如:F: omcat-6.0.36webapps est
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径),放在监听器,可以窗口启动获取路径
方法一Thread.currentThread().getContextClassLoader().getResource("").getPath()
String path = Thread.currentThread().getContextClassLoader()
.getResource("").getPath();
System.out.println("path========"+ path);输出:path========/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/
方法二JdomParse.class.getClassLoader().getResource("").getPath()(JdomParse为src某一个包中的类,下同)
eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);
输出:JdomParse.class.getClassLoader().getResource-/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/
另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)
eg String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);
输出:JdomParse.class.getResource--/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/
(JdomParse为src目录下jdom包中的类)
四 属性文件的读取:
方法 一
InputStream in = lnewBufferedInputStream(newFileInputStream(name));
Properties p =newProperties();p.load(in);
注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值
方法二
Locale locale =Locale.getDefault();
ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest",locale);
String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);
工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:
test=hello word
不通过Servlet获取路径
第一种实现
Java代码
URL url = ClassLoader.getSystemClassLoader().getResource("./");
File file =newFile(url.getPath());
File parentFile =newFile(file.getParent());
System.out.println("webRoot:"+parentFile.getParent());
第二种实现
首先写一个接听类 (推荐使用,容器启动时就执行,不会抛空指针异常,适合做定时器任务来删除服务器文件的路径)
Java代码:
package com.chinacreator.report.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* @authorxiaoqun.yi
*/
public class PathListener {
private staticServletContext servletContext;
public voidcontextDestroyed(ServletContextEvent sce) {
this.servletContext= sce.getServletContext();
System.out.println("path=======:"+servletContext.getRealPath("/"));
}
public voidcontextInitialized(ServletContextEvent arg0) {
}
}
在web.xml中加入如下配置
Java代码 :
<listener>
<listener-class>com.chinacreator.report.listener.PathListener</listener-class>
</listener>
五、Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由 ClassLoader(类加载器)(获取资源)
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。
4. Jsp下的application内置对象就是上面的ServletContext的一种实现。
其次,getResourceAsStream 用法大致有以下几种:
第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("myfile.xml");
第二:在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("file/myfile.xml");
第三:不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("/com/x/file/myfile.xml");
总结一下,可能只是两种写法
第一:前面有 “ / ”
“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject
me.class.getResourceAsStream("/com/x/file/myfile.xml");
第二:前面没有 “ / ”
代表当前类的目录
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");
㈤ 如何根据包路径查找当前包的绝对路径(JAVA)
Foo.class.getPackage().getName()
㈥ 如何查找java路径
1、要解决问题之前,我们需要下载java这个软件,在浏览器上搜索,记住下载的具体位置,方便下一步的操作。
㈦ 关于Java打包路径问题
动态加载配置文件信息,你可以写一个以.properties为扩展名的文件,里面存放key=value的,
读key,自然获取value了,java中有Properties类,专门读取这个文件的,你上述代码就是说加载那个文件获取流,然后再用我说的类操作。
比如你的文件叫conf.properties,那路径就写
this.getClass.getRecourceAs Stream("/conf.properties");
该配置文件放到源文件夹下(通常src),不论是web项目还是java项目
㈧ java包路径的问题
System.out.println(System.getProperty("user.dir"));
System.getProperty("user.dir")可以得到当前的项目根路径,你试试看,应该可以的
从这里再推算相对路径,下面可以得到上一级目录的路径
String dir=System.getProperty("user.dir");
int index=dir.lastIndexOf("\\");
dir=dir.substring(0, index);
System.out.println(dir);
放心,我试过了
你要的路径应该是System.getProperty("user.dir")+"/com/b"
㈨ java类路径到底指的是什么
类路径是该类所在的地址,也就是该类所在位置的包名,也叫完整类名。因为包的特性,Java允许在不同包中存在名称一样的类,如果不指明路径的话,编译器就无法找到正确的类,所以必须指明路径