Рубрики
Без рубрики

Создайте файл в определенном каталоге на Java

Узнайте, как создать файл в определенном каталоге, используя абсолютные и относительные пути к файлам

Автор оригинала: baeldung.

1. Обзор

В этом кратком руководстве мы рассмотрим, как создать файл в определенном каталоге .

Мы увидим разницу между абсолютными и относительными путями к файлам и будем использовать пути, которые работают в нескольких основных операционных системах.

2. Абсолютные и относительные пути к файлам

2.1. Абсолютные пути

Давайте начнем с создания файла в каталоге с помощью , ссылающегося на весь путь , также известный как абсолютный путь. Для демонстрации мы используем абсолютный путь к каталогу user temp и добавим в него наш файл.

Мы используем файлы .touch() , который является частью Google Guava, как простой способ создать пустой файл:

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. Относительные пути

Мы также можем создать файл в каталоге , который находится относительно другого каталога . Например, давайте создадим файл в каталоге user temp :

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

В приведенном выше примере наш новый файл добавляется в путь к каталогу пользователя temp .

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 .