java怎么根据文件名获取文件绝对路径

java怎么根据文件名获取文件绝对路径,第1张

可以通过“ 类名classgetResource("")getPath()”方法实现。

举例:”String path = XMLSclassgetResource("")getPath()“

解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。

你好,提问者:

指定资源路径的方法有两种:

一种是绝对路径,一种是相对路径。

获取当前类的所在工程路径; 

File f = new File(thisgetClass()getResource("/")getPath()); 

Systemoutprintln(f); 

获取当前类的绝对路径; 

File f = new File(thisgetClass()getResource("")getPath()); 

Systemoutprintln(f); 

获取当前类的所在工程路径; 

File directory = new File("");//参数为空 

String courseFile = directorygetCanonicalPath() ; 

Systemoutprintln(courseFile); 

获取当前工程src目录下selectedtxt文件的路径:

URL xmlpath = thisgetClass()getClassLoader()getResource("selectedtxt"); 

Systemoutprintln(xmlpath);

一 相对路径的获得

说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)

String relativelyPath=SystemgetProperty("userdir");

上述相对路径中,java项目中的文件是相对于项目的根目录

web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)

二 类加载目录的获得(即当运行时某一类时获得其装载目录)

11)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)

InputStream is=TestActionclassgetClassLoader()getResourceAsStream("testtxt");

(testtxt文件的路径为 项目名\src\testtxt;类TestAction所在包的第一级目录位于src目录下)

上式中将TestAction,testtxt替换成对应成相应的类名和文件名字即可

12)通用方法二 (此方法和11中的方法类似,不同的是此方法必须以'/'开头,参考>

在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用SystemgetProperty("userdir")获取你工程的绝对路径。

另:在Jsp,Servlet,Java中详细获得路径的方法!

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:\resin\webapps\TEST\testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:\resin\webapps\TEST

2在类中取得路径:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:\TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:\Tomcat\webapps\TEST

(2)得到IE地址栏地址:requestgetRequestURL()

结果:>

平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下 一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=SystemgetProperty(

在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用SystemgetProperty("userdir")获取工程的绝对路径。

另:在Jsp,Servlet,Java中详细获得路径的方法!

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:\resin\webapps\TEST\testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:\resin\webapps\TEST

2在类中取得路径:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:\TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:\Tomcat\webapps\TEST

(2)得到IE地址栏地址:requestgetRequestURL()

结果:>

// 第一种:获取类加载的根路径 D:\git\daotie\daotie\target\classes

File f = new File(thisgetClass()getResource("/")getPath());

Systemoutprintln(f);

// 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录 D:\git\daotie\daotie\target\classes\my

File f2 = new File(thisgetClass()getResource("")getPath());

Systemoutprintln(f2);

// 第二种:获取项目路径 D:\git\daotie\daotie

File directory = new File("");// 参数为空

String courseFile = directorygetCanonicalPath();

Systemoutprintln(courseFile);

// 第三种: file:/D:/git/daotie/daotie/target/classes/

URL xmlpath = thisgetClass()getClassLoader()getResource("");

Systemoutprintln(xmlpath);

// 第四种: D:\git\daotie\daotie

Systemoutprintln(SystemgetProperty("userdir"));/ 结果: C:\Documents and Settings\Administrator\workspace\projectName

获取当前工程路径/// 第五种: 获取所有的类路径 包括jar包的路径

以上就是关于java怎么根据文件名获取文件绝对路径全部的内容,包括:java怎么根据文件名获取文件绝对路径、java获取指定资源文件路径的几种方法、在java类中怎么获得java项目的目录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9294590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存