java我想要写某个文件,怎样获取文件的相对路径。文件位置:
package com.hmilyld.exp;
import java.io.File;
public class ListFile {
private long[] count = new long[] ;
private File file;
private long[] listFile(String path) {
file = new File(path);
File[] f = file.listFiles();
for (int i = 0; i < f.length; i++) {
if (f[i].isDirectory()) {
count[0]++;
this.listFile(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 = System.currentTimeMillis();
long[] count = this.listFile(path);
t = System.currentTimeMillis() - t;
Object[] o = new Object[] { Long.valueOf(t), Long.valueOf(count[0]),
Long.valueOf(count[1])};
return o;
}
public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = l.getFileCount("d:\\");
System.out.println(count[0]);
System.out.println(count[1]);
System.out.println(count[2]);
}
}
以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下.:)
java如何获取文件的相对路径啊?
一个例子,如果有一个Test文件夹里面有test.java和hello.txt.如果你想用test.java操作hello.txt
只要在test.java中这样写File file=new File("hello.txt");//这样就是相对路径。如果文件结构是
Test文件夹
... |------test.java
... |------hello.txt
... |------source文件夹
................. |---------world.txt
如果想在test.java中操作world.txt。只要这样写File file=new File("source/world.txt");
另外,在web开发中/代表项目文件夹根目录,当然也有可能代替webapps,区分方法是:如果/开头的uri是给浏览器解析则/代表webapps,如果是给服务器后台解析,则代表项目文件
win7系统如何获取文件或文件夹的完整路径
注:1、先点击鼠标左键选中文件————长按shift键————点击鼠标右键——点击 复制为路径(A)
1、打开电脑上的文件夹,选中一个文件,可以看到此文件的完整路径并非用反斜杠字符分隔文件夹名来显示完整的文件或文件夹路径。
2、接下来请点击地址栏空白处
3、点击地址栏空白处后,此时在地址栏就显示了完整的文件路径,如下图所示
4、选中显示出来的完整文件路径,鼠标右键,从快捷菜单中选择复制,即可把此文件的路径完整复制下来了。
5、还有一个方法:按shift键不放,再右击文件从弹出的快捷菜单中选择“复制为路径”,也能拷贝一个文件的完整路径,如下图所示。"E:\电脑资料\备份\数据库语言\K3如何在数据库更改计量单位.doc"
6、在需要的地方比如在运行中粘贴一下,即可显示出来此文件的完整路径。
7、点击“确定”按钮后,就可以直接打开此WORD文档
java里绝对路径和相对路径的区别是什么?
按照jdk Doc上的说法”绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件。相反,相对路径名必须使用来自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录.”\x0d\x0a \x0d\x0a相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是”当前用户目录”也就是”java虚拟机的调用目录”.更明白的说这个路径其实是我们在哪里调用jvm的路径.举个例子:\x0d\x0a \x0d\x0a假设有一java源文件Example.java在d盘根目录下,该文件不含package信息.我们进入命令行窗口,然后使用”d:”命令切换到d盘根目录下,然后用”javac Example.java”来编译此文件,编译无错后,会在d盘根目录下自动生成”Example.class”文件.我们在调用”java Example”来运行该程序.此时我们已经启动了一个jvm,这个jvm是在d盘根目录下被启动的,所以此jvm所加载的程序中File类的相对路径也就是相对这个路径的,即d盘根目录:D:/.同时” 当前用户目录”也是D:/.在System.getProperty(“user.dir”);系统变量”user.dir”存放的也是这个值.\x0d\x0a我们可以多做几次试验,把”Example.class”移动到不同路径下,同时在那些路径下,执行”java Example”命令启动jvm,我们会发现这个”当前用户目录”是不断变化的,它的路径始终和我们在哪启动jvm的路径是一致的.\x0d\x0a搞清了这些,我们可以使用相对路径来创建文件,例如:\x0d\x0aFile file = new File(“a.txt”);\x0d\x0aFile.createNewFile();\x0d\x0a假设jvm是在”D:/”下启动的,那么a.txt就会生成在D:/a.txt;\x0d\x0a此外,这个参数还可以使用一些常用的路径表示方法,例如”.”或”./”代表当前目录,这个目录也就是jvm启动路径.所以如下代码能得到当前目录完整路径:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);//D:/\x0d\x0a最后要说说在eclipse中的情况:\x0d\x0aEclipse中启动jvm都是在项目根路径上启动的.比如有个项目名为blog,其完整路径为:D:/work/IDE/workspace/blog.那么这个路径就是jvm的启动路径了.所以以上代码如果在eclipse里运行,则输出结果为” D:/work/IDE/workspace/blog.”\x0d\x0a \x0d\x0aTomcat中的情况.\x0d\x0a如果在tomcat中运行web应用,此时,如果我们在某个类中使用如下代码:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);\x0d\x0a那么输出的将是tomcat下的bin目录.我的机器就是” D:/work/server/jakarta-tomcat-5.0.28/bin/.”,由此可以看出tomcat服务器是在bin目录下启动jvm的.其实是在bin目录下的” catalina.bat”文件中启动jvm的.