在Java中的特定目录中创建文件

2023/05/29

1. 概述

在这个快速教程中,我们将了解如何在特定目录创建文件

我们将看到绝对文件路径和相对文件路径之间的区别,并且我们将使用适用于几个主要操作系统的路径。

2. 绝对和相对文件路径

2.1 绝对路径

让我们从通过引用整个路径(也称为绝对路径)在目录中创建文件开始。为了演示,我们将使用用户临时目录的绝对路径,并将我们的文件添加到其中。

我们使用Google Guava的一部分Files.touch()作为创建空文件的简单方法:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File fileWithAbsolutePath = new File(tempDirectory.getAbsolutePath() + "/testFile.txt");

assertFalse(fileWithAbsolutePath.exists());

Files.touch(fileWithAbsolutePath);

assertTrue(fileWithAbsolutePath.exists());

2.2 相对路径

我们还可以在相对于另一个目录的目录中创建一个文件。例如,让我们在用户临时目录中创建文件:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File fileWithRelativePath = new File(tempDirectory, "newFile.txt");

assertFalse(fileWithRelativePath.exists());

Files.touch(fileWithRelativePath);

assertTrue(fileWithRelativePath.exists());

在上面的示例中,我们的新文件被添加到用户临时目录的路径中。

3. 使用平台无关的文件分隔符

要构造文件路径,我们需要使用/或\等分隔符。但是,要使用的适当分隔符取决于你的操作系统。幸运的是,有一种更简单的方法。我们可以使用Java的File.separator代替分隔符。因此,Java为我们选择了合适的分隔符。

让我们看一个使用此方法创建文件的示例:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File newFile = new File(tempDirectory.getAbsolutePath() + File.separator + "newFile.txt");

assertFalse(newFile.exists());

Files.touch(newFile);

assertTrue(newFile.exists());

使用File.separator,Java知道如何基于底层文件系统构造路径。

4. 总结

在本文中,我们探讨了绝对路径和相对路径之间的区别,以及如何创建适用于几个主要操作系统的文件路径。

与往常一样,本教程的完整源代码可在GitHub上获得。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章