通过java的File类可以访问电脑里的文件,(File类不包含读写文件内容的方法)
注意:
java中的目录分隔符是\ 而不是windows中的
为了让程序不但能在自己的平台上运行,而且能在别人的平台上运行,就需要使用相对路径,而不是绝对路径。
简单的说,绝对路径就是从磁盘开始一直到要访问文件的路径,相对路径就是要访问文件相对于你正在使用的当前目录的路径。
举个例子,也就是我下面的程序里的路径:
在windows中我下面写的程序TestFileClass文件的绝对路径是:E:\coding\eclipse Java\TestFileClass,在java中他是这样的: E:\coding\eclipse Java\TestFileClass
同时,我的电脑里还有一个文件的绝对路径是:E:\coding\java\Welcome.java 也就是 E:\coding\java\Welcome.java
我该怎么通过我的TestFileClass里面的程序来访问到Welcome.java呢?
可以看到他们的上上层目录都是coding,那么我要先从TestFileClass往上两层,访问到coding,再向下访问java目录下的Welcome.java 在相对论路径中访问上层目录用…/上两层则是…/…/于是可以写出相对路径 …/…/java/Welcome.java 。
在程序中写出这个相对路径,运行时就可以看到Welcome.java的信息了。
我的示例代码,使用File类和它的方法访问文件。请根据自己的路径修改代码正确运行
public class TestFileClass {
public static void main(String[] args) {
// TODO 自动生成的方法存根
java.io.File file = new java.io.File("../../java/Welcome.java");
System.out.println("Does it exist? "+file.exists());
System.out.println("The file has "+file.length()+" bytes");
System.out.println("Can it be read? "+file.canRead());
System.out.println("Can it be written? "+file.canWrite());
System.out.println("Is it a directory? "+file.isDirectory());
System.out.println("Is it a file? " +file.isFile());
System.out.println("Is it absolute? "+file.isAbsolute());
System.out.println("Is it hidden? "+file.isHidden());
System.out.println("Absolute path is "+file.getAbsolutePath());
System.out.println("Last modified in "
+new java.util.Date(file.lastModified()));
}
}
运行结果