啥子意思》
String getAbsolutePath()
返回抽象路径名的绝对路径名字符串。
这个相对路径不好说:因为:
假设:
D盘 a\ b\ c\这里有个1txt
相对于c\来说是:1txt
相对于a\来说是:b\c\1txt
呵呵,你自己看
------------------------
那就全盘搜索吧(楼上的方法)
Linux系统只用搜索一次
一般在处理Web应用下的文件创建与移动等时,会涉及到很多关于java
中相对路径,绝对路径等问题。以下是一些总结。希望大家遇到类似的问题,可以更有效的解决。
=================================================================================
1基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:\xyz\testtxt 代表了testtxt文件的绝对路径。>package orgchengfile;
import javaioFile;
public class FileTest {
public static void main(String[] args) throws Exception {
Systemoutprintln(ThreadcurrentThread()getContextClassLoader()getResource(""));
Systemoutprintln(FileTestclassgetClassLoader()getResource(""));
Systemoutprintln(ClassLoadergetSystemResource(""));
Systemoutprintln(FileTestclassgetResource(""));
Systemoutprintln(FileTestclassgetResource("/")); //Class文件所在路径
Systemoutprintln(new File("/")getAbsolutePath());
Systemoutprintln(SystemgetProperty("userdir"));
}
}
42服务器中的Java类获得当前路径(来自网络)
(1)Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700
那么,你的文件根路径就是c:\
所以,有两种方式能够让你访问你的服务器端的文件:
a使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconfproperties,
直接使用 new FileInputStream("yourconfig/yourconfproperties");
b使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放
在yourwebapp\yourconfig\yourconfproperties,
这样使用:
new FileInputStream("/yourconfig/yourconfproperties");
这两种方式均可,自己选择。
(2)Tomcat
在类中输出SystemgetProperty("userdir");显示的是%Tomcat_Home%/bin
(3)Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根比如用新建文件法测试File f = new File("ahtm");
这个ahtm在resin的安装目录下
(4)如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass()getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5读取文件时的相对路径,避免硬编码和绝对路径的使用。(来自网络)
51 采用Spring的DI机制获得文件,避免硬编码。
参考下面的连接内容:
>
package comhmilyldexp;
import javaioFile;
public class ListFile {
private long[] count = new long[] ;
private File file;
private long[] listFile(String path) {
file = new File(path);
File[] f = filelistFiles();
for (int i = 0; i < flength; i++) {
if (f[i]isDirectory()) {
count[0]++;
thislistFile(f[i]getPath());
} else {
count[1]++;
}
}
return count;
}
/
得到指定路径下的文件和文件夹数量
@param path
要查看的路径
@return object[0]耗时(毫秒)<br>
object[1]文件夹数量<br>
object[2]文件数量
/
public Object[] getFileCount(String path) {
long t = SystemcurrentTimeMillis();
long[] count = thislistFile(path);
t = SystemcurrentTimeMillis() - t;
Object[] o = new Object[] { LongvalueOf(t), LongvalueOf(count[0]),
LongvalueOf(count[1])};
return o;
}
public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = lgetFileCount("d:\\");
Systemoutprintln(count[0]);
Systemoutprintln(count[1]);
Systemoutprintln(count[2]);
}
}
以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下:)
以上就是关于请问在java代码中怎样获取某个磁盘上的某个文件的绝对路径和相对路径有知道的麻烦告诉我!谢谢!全部的内容,包括:请问在java代码中怎样获取某个磁盘上的某个文件的绝对路径和相对路径有知道的麻烦告诉我!谢谢!、java里绝对路径和相对路径的区别、java我想要写某个文件,怎样获取文件的相对路径。文件位置:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)