Java没有创建文件

时间:2017-02-11 01:02:34

标签: 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和零字节。请有人帮忙,我会给出最好的答案。

1 个答案:

答案 0 :(得分:1)

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

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

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


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