Java没有创建文件

package com.company; public class Main { public static void main(String[] args) { java.io.File file = new java.io.File("image/us.gif"); 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()); } } 

我从我的“Java编程简介”一书中复制了这段代码,它正确编译但不创建文件,并为方法返回false和零字节。 有人可以帮助我,我会给出最好的答案。

除非已存在,否则您必须手动创建该文件。 不应将创建新File对象与在文件系统中创建文件混淆。

要创建文件,您必须使用createFile();方法createFile(); 它存在于类File中:

 File someFile = new File("path.to.file"); someFile.createFile(); 

在创建文件之前检查文件是否存在以避免覆盖它也是一个好主意。 这可以通过以下方式完成:

 File someFile = new File("path.to.file"); if(!someFile.exists()) { someFile.createFile(); } 

这将创建一个新的空文件。 这意味着它的长度将为0.要写入文件,您将需要一个字节流。 例如,使用FileWriter:

 File test = new File("SomeFileName.txt"); FileWriter fw = new FileWriter(test); fw.append("Hello! :D"); fw.close(); 

注意 :我在上面的示例中使用的一些方法会抛出您必须处理的exception。