在Java中,新创建的文件的默认位置是什么?

abh*_*pta 20 java io file-io

在Java中,新创建的文件的默认位置是什么?

Dan*_*iel 30

如果是应用程序的当前目录.例如,如果您使用创建文件

new FileOutputStream("myfile")
Run Code Online (Sandbox Code Playgroud)

然后它在"当前"目录中创建,可以通过调用来检索

System.getProperty("user.dir");
Run Code Online (Sandbox Code Playgroud)

但是,如果通过调用本机方法更改当前目录(非常不可能!),则不会更新该属性.它可以被视为应用程序的初始当前目录.

如果在批处理文件中启动Java应用程序,并双击指向它的链接,则当前目录将是批处理文件所在的目录,但可以在链接中更改.

如果从命令行启动Java应用程序,则您已经知道了所在的目录.

如果从IDE启动Java应用程序,则当前目录通常是项目根目录,但通常可以在启动配置中进行配置.

更新2017-08:

您也可以随时找到当前正确的位置new File(".").getAbsolutePath().