我正在学习Java I/O,当我编译这段代码时:
import java.io.File;
public class Main {public static void main(String[] args){
//Creation of the File object
File f = new File("test.txt");
System.out.println("File absolute path : " + f.getAbsolutePath());
System.out.println("File name : " + f.getName());
System.out.println("Does it exist ? " + f.exists());
System.out.println("Is it a directory? " + f.isDirectory());
System.out.println("Is it a file ? " + f.isFile());
}
Run Code Online (Sandbox Code Playgroud)
问题是f.exists() 并f.isFile()返回false
这怎么可能呢 ?
File f = new File("test.txt");
Run Code Online (Sandbox Code Playgroud)
以上行不会在磁盘上创建物理文件.它只创建一个名为'test.txt'的文件对象,因此File#exits()返回false.
您需要以多种方式创建实际的物理文件.
使用文件
file.createNewFile()
Run Code Online (Sandbox Code Playgroud)
使用FileWriter
FileWriter writer = new FileWriter(f);
Run Code Online (Sandbox Code Playgroud)
PS:同样适用于File#isFile()也返回false.