Java 未创建文件

Java 未创建文件,java,file,Java,File,我正在创建这样的文件(我正在发送arg[0]作为要创建的文件的名称)。 没有创建任何文件我搜索了项目的源代码,但什么也没找到,为什么 import java.io.File; public class Test { public static void main (String [] args) { File f=new File(args[0]); } } 试一试 File f=new File(args[0]); f.createNe

我正在创建这样的文件(我正在发送arg[0]作为要创建的文件的名称)。 没有创建任何文件我搜索了项目的源代码,但什么也没找到,为什么

import java.io.File;
public class Test {
    public static void main (String [] args)
    {
        File f=new File(args[0]);
    }
}
试一试

    File f=new File(args[0]);
    f.createNewFile();

文件只是路径的表示形式。您需要实际打开一个带有该文件的输出流,并写入该流,以便创建一个文件。

这是正常的

文件
是一个抽象对象。它可能引用文件系统上的现有资源,也可能不引用

但由于现在是2015年,请删除
文件
,改用java.nio.File:

final Path path = Paths.get(args[0]);
Files.createFile(path);
但事实上。认真地是,
.createNewFile()
存在于
文件上,但。。。好吧,读这一页。简而言之:返回一个布尔值,需要检查返回值,如果为false,SOL,您甚至无法进行诊断


编辑:了解如何使用java.nio.file的页面:

(为这两个链接做无耻的自我宣传,很抱歉)

执行
新文件(…)
不会在文件系统中创建文件。
文件
对象只是表示可能存在或不存在的文件系统对象的路径的一种方式


创建文件的典型方法是打开文件的
FileOutputStream
FileWriter
。即使您不写任何东西,也会创建该文件。其他替代方法是调用
File.createNewFile()
File.createTempFile(…)
仅创建文件对象不会在磁盘上创建物理文件。实际文件是使用
f.createNewFile()
创建的,如下面的演示所述

当yo do
File File文件=新文件时(args[0])文件只是表示java对象,而不是文件系统上的文件对象

下面是基本文件创建和删除操作的演示

 public class FileDemo {
   public static void main(String[] args) {

      File f = null;

      try{
         // create new file
         f = new File("test.txt");

         // tries to create new file in the system
           f.createNewFile();

         // deletes file from the system
         f.delete();

      }catch(Exception e){
         e.printStackTrace();
      }
   }
}

请花些精力把问题写得干净利落,并提供足够的信息。另外,javadocs是学习类功能的一个很好的资源。
java.io.File
所做的只是创建一个“文件的抽象表示”,这意味着在调用方法
createNewFile()
之前不会创建任何文件,而我知道你的答案创建了文件,但它没有回答OP的“为什么”问题。我不理解这里的反对票。请至少提供评论,以便世卫组织今后能够改进。反对票是非常受欢迎的,但没有任何目的,它没有任何目的。