Java-IO File学习
File对象
java 的标准库 java.io
提供了 File
对象来操作文件和目录。
构建 File
对象,需要传入一个路径,可以是绝对路径,也可以是相对路径。
package io;
import java.io.File;
public class FileDemo {
public static void main(String[] args) throws IOException {
// Windows平台使用 \\ 代表 \
File winFile = new File("D:\\mydemo\\test.text");
System.out.println(winFile);
// Linux平台使用 / 作为路径分隔符
// 可以用.表示当前目录,..表示上级目录
File linuxFile = new File("../src/js");
System.out.println(linuxFile);
}
}
输出:
D:\mydemo\test.text
../src/js
构建 File 对象时,即使传入的文件或目录不存在,代码也不会报错,因为构造时并不会导致磁盘操作。当在调用 File 对象的一些方法时,才开始进行磁盘操作。
File对象有3种形式表现的路径。
getPath()
:返回构造方法传入的路径,该路径可能是相对的,也可能不是相对的。getAbsolutePath()
:返回绝对路径。getCanonicalPath
:返回规范路径,规范路径就是把.和…转换成标准的绝对路径后的路径,这是文件的唯一绝对路径。
注意:可能有大量指向同一文件的绝对路径,但只有一个规范路径。
package io;
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
File linuxFile = new File("../src/js");
// File表示路径的形式
System.out.println(linuxFile.getPath());
System.out.println(linuxFile.getAbsolutePath());
System.out.println(linuxFile.getCanonicalPath());
System.out.println(File.separator); // 根据当前平台打印"\"或"/"
}
}
输出:
../src/js
/Users/xxdemo/IdeaProjects/LearnJava/../src/js
/Users/xxdemo/IdeaProjects/src/js
/