
我觉得如果只是为了得到路径,那491064739的回答其实已经给你思路了,就是传入个File f,然后String s = fgetAbsolutePath();得到绝对路径!不过,似乎你问的是Path后,我的思路是传入两个参数,一个workspace的路径,一个是File f 。伪代码如下:
public String getPathInfo(String workspace,File file) throw Exception{
String path = filegeAbsolute(); //绝对路径
pathreplaceAll("\\\\","/"); //把\ 替换成 /
workspacereplaceAll("\\\\","/");
String info = pathsubString(workspacelength-1); //-1是留下/
//因为是绝对路径,所以文件名最前面的就是workspace,把前面那段去掉就是Path后的了
return info;
}
大致上逻辑就是这样吧
平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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中的方法类似,不同的是此方法必须以'/'开头,
InputStream is=Test1classgetResourceAsStream("/testtxt");
(testtxt文件的路径为 项目名\src\testtxt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=thisgetServletContext();
String temp=s1getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-60\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1getRealPath("")则输出D:\工具\Tomcat-60\webapps\002_ext(少了一个"\")
2 从>
从你的代码看,你是要在java类里获取相对路径类名classgetResourceAsStream()可以获取到同你这个类相同路径下的文件SystemgetProperty("userdir")可以获取到工程src的路径,下面就可以自己加路径了嘛提醒一点。src/com/sigls/model/filter/tttxt";最好不要这样写。不同版本的JDK对这个/是有区别的,最好用Fileseparator就相当于/但是在不同版本也是\所以用Fileseparator就可以避免这点
举例:
把配置文件cccxml放到编译路径,如src/comaaaaa下面,然后再根据
String rootPath=XxxxclassgetResource("/")getPath();
获取到编译的根路径,配置文件的地址就是rootPath+"com/aaa/aa/cccxml"
以上就是关于java 获取当前文件的路径,路径全名全部的内容,包括:java 获取当前文件的路径,路径全名、怎么获取java项目中的一个文件、java 怎样获取一个文件相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)