文件访问(相对路径)

通过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()));
		

	}

}

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/alike_meng/article/details/82942274