文件创建方法

时间:2013-11-28 13:33:51

标签: java file

当我使用以下代码创建文件时,它不会输出可见文件。它不会给出任何异常。在以下代码中存在输出。这意味着文件实际存在。但我看不出来。实际上这里发生了什么?

File file= new File("/folder/abc.txt");
if(file.exist)
   System.out.println("exist");

8 个答案:

答案 0 :(得分:6)

    File file= new File("/folder/abc.txt");

永远不会创建实际文件。 有两种方法可以创建文件:

  1. 在File对象上调用createNewFile()方法。例如:

    File file = new File("foo"); // no file yet
    file.createNewFile(); // make a file, "foo" which
    // is assigned to 'file'
    
  2. 创建Writer或Stream。具体来说,创建一个FileWriter,一个PrintWriter, 或FileOutputStream。每当您创建其中一个的实例时 类,您自动创建一个文件,除非已存在,例如

    File file = new File("foo"); // no file yet
    PrintWriter pw = new PrintWriter(file); // make a PrintWriter object AND
    // make a file, "foo" to which
    // 'file' is assigned, AND assign
    // 'pw' to the PrintWriter
    

答案 1 :(得分:4)

这是一个文件抽象类,但它还没有创建任何文件。 From documentation

An abstract representation of file and directory pathnames.

除了创建新文件之外,您还可以做很多事情,例如检查这样的文件或目录是否存在。

答案 2 :(得分:4)

创建文件实例不会在文件系统上创建文件。

您需要调用该实例的方法来在文件系统上创建文件

File f = new File("/folder/myfile");
if(!f.exists){
   f.createNewFile();
}

答案 3 :(得分:3)

根据Java文档,

  

通过将给定的路径名​​字符串转换为抽象路径名来创建新的File实例。如果给定的字符串是空字符串,则结果是空的抽象路径名。

仅创建一个实例。 使用file.createNewFile();

创建实际文件

答案 4 :(得分:2)

您只是创建一个java对象,您需要使用:

File file= new File("/folder/abc.txt");
file.createNewFile();

答案 5 :(得分:2)

如果没有,请检查文件是否存在,然后创建新文件。

 File file= new File("/folder/abc.txt");
 if(!file.exists())
      file.createNewFile();

答案 6 :(得分:2)

    File file= new File("/folder/abc.txt");

创建java File对象,而不是真实文件。创建真正的文件调用:

    file.createNewFile();

或使用Stream。例如:

     FileOutputStream stream = new FileOutputStream(file);

答案 7 :(得分:0)

仅仅因为您创建了java.io.File类的实例,文件系统上的该文件将不会立即创建。 你必须采取措施来实际创建它。您可以在此轻松找到相关信息。