Как создать файл java

Обновлено: 07.07.2024

каков самый простой способ создания и записи в (текстовый) файл на Java?

обратите внимание, что каждый из приведенных ниже примеров кода может бросить IOException . Блоки Try/catch / finally были опущены для краткости. См.в этом уроке для получения информации об обработке исключений.

создание текстового файла (обратите внимание, что это перезапишет файл, если он уже существует):

создание двоичного файла (это также перезапишет файл):

Java 7+ пользователи могут использовать Files класс для записи в файлы:

создание текстового файла:

создание двоичного файла:

в Java 7 и выше:

есть полезные утилиты для этого, хотя:

обратите внимание также, что вы can использовать FileWriter , но он использует кодировку по умолчанию, что часто является плохой идеей - лучше указать кодировку явно.

ниже оригинал, до Java 7 ответ

Если у вас уже есть содержимое, которое вы хотите записать в файл (и не генерируется на лету), java.nio.file.Files добавление в Java 7 как часть собственного ввода-вывода обеспечивает самый простой и эффективный способ достижения ваших целей.

в основном создание и запись в файл-это только одна строка, более того один простой вызов метода!

в следующем примере создается и записывается в 6 различных файлов, чтобы продемонстрировать, как его можно использовать:

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

используя try() автоматически закрыть поток. Эта версия является короткой, быстрой (буферизованной) и позволяет выбрать кодировку.

эта функция была введена в Java 7.

очень простой способ создания и записи в файл на Java:

здесь мы вводим строку в текстовый файл:

мы можем легко создать новый файл и добавить содержимое в него.

Если вы хотите иметь относительно безболезненный опыт, вы также можете взглянуть на Apache Commons IO пакет, точнее FileUtils класс.

никогда не забывайте проверять сторонние библиотеки. Joda Времени на сегодняшний день манипуляций, Apache Commons Lang StringUtils для общих строковых операций и таких может сделать ваш код более читаемым.

Java-отличный язык, но стандартная библиотека иногда немного низкоуровневый. Мощный, но все же низкий уровень.

поскольку автор не указал, требуется ли им решение для версий Java, которые были Eold (как Sun, так и IBM, и это технически самые распространенные JVMs), и из-за того, что большинство людей, похоже, ответили на вопрос автора, Прежде чем было указано, что это текст (не бинарные) файл, я решил предоставить свой ответ.

Ну, это исключает java.Ио.Файл. Если файл не может быть записан / добавлен, вы можете даже не знать, почему.

вот пример (упрощенный):

другой пример (добавление):

упрощенный пример (Java 8 или выше):

другой пример (добавление):

эти методы требуют минимальных усилий со стороны автора и должны быть предпочтительнее всех других при записи в [текстовые] файлы.

Если вы по какой-то причине хотите отделить акт создания и записи, эквивалент Java touch is

createNewFile() проверяет существование и создает файл атомарно. Это может быть полезно, если вы хотите убедиться, что вы были создателем файла перед записью в него, например.

Я думаю, что это самый короткий путь:

создать файл без перезаписи существующего файла:

только одна линия ! path и line строки

самый простой способ, который я могу найти:

Это, вероятно, работать только для 1.7+.

если мы используем Java 7 и выше, а также знаем содержимое, которое будет добавлено (добавлено) в файл, мы можем использовать newBufferedWriter метод в пакете NIO.

есть несколько моментов, чтобы отметить:

  1. это всегда хорошая привычка, чтобы указать кодировку кодировки и для этого у нас есть константа в классе StandardCharsets .
  2. код использует try-with-resource инструкция, в которой ресурсы автоматически закрываются после пытаться.

хотя OP не спрашивал, но на всякий случай мы хотим искать строки с определенным ключевым словом, например confidential мы можем использовать API потока в Java:

чтение и запись файлов с помощью input и outputstream:

просто включите этот пакет:

и затем вы можете использовать этот код для записи в файл:

стоит попробовать для Java 7+:

для нескольких файлов вы можете использовать:

он отлично работает.

вот некоторые из возможных способов создания и записи файла на Java:

Использование FileOutputStream

Использование FileWriter

Использование PrintWriter

Использование OutputStreamWriter

для дальнейшего проверить этот учебник о том, как чтение и запись файлов на Java .

есть несколько простых способов, как:

вы даже можете создать временный файл с помощью системное свойство, который будет независимо от того, какую ОС вы используете.

используя библиотеку Guava Google, мы можем создавать и записывать в файл очень легко.

в примере создается новый fruits.txt файл в корневом каталоге проекта.

чтение коллекции с клиентами и сохранение в файл, с JFilechooser.

лучший способ - использовать Java7: Java 7 представляет новый способ работы с файловой системой, а также новый служебный класс-файлы. Используя класс Files, мы также можем создавать, перемещать, копировать, удалять файлы и каталоги; он также может использоваться для чтения и записи в файл.

запись с помощью FileChannel Если вы имеете дело с большими файлами, FileChannel может быть быстрее, чем стандартный IO. Следующая строка записи кода в файл с помощью FileChannel:

запись с помощью DataOutputStream

запись с помощью FileOutputStream

Давайте теперь посмотрим, как мы можем использовать FileOutputStream для записи двоичных данных в файл. Следующий код преобразует строку int bytes и записывает байты в файл с помощью FileOutputStream:

пишите с помощью PrintWriter мы можем использовать PrintWriter для записи форматированного текста в файл:

написать с BufferedWriter: используйте BufferedWriter для записи строки в новый файл:

Обработка файлов в Java необходима для выполнения различных задач, таких как создание, чтение, запись и т. д. В этой статье я расскажу вам, как создать файл в Java с использованием различных методов.

Поток выполнения Java-программы

Выполнение программы Java

Все языки программирования высокого уровня (также называемые третьим поколением) позволяют писать программы на языке, аналогичном (хотя и гораздо более простом), чем естественный язык. Программа высокого уровня называется исходным кодом.

Что такое файл в Java?

При чтении файла в Java мы должны знать класс файлов Java. Класс Java File представляет файлы и имена каталогов в абстрактной манере. Класс File имеет несколько методов для работы с каталогами и файлами, таких как создание новых каталогов или файлов, удаление и переименование каталогов или файлов и т. д. Объект File представляет фактический файл / каталог на диске.

Теперь давайте разберемся с различными методами создания файла.

Методы для создания файла в Java

1. Создайте файл с классом java.io.File

Вам нужно использовать метод File.createNewFile(). Этот метод возвращает логическое значение:

  • истина, если файл выполнен.
  • false, если файл уже существует или операция по какой-то причине не открывается.

Этот метод также генерирует исключение java.io.IOException, когда он не может создать файл.

Когда мы создаем объект File, передавая имя файла, он может быть с абсолютным путем, или мы можем предоставить только имя файла, или мы можем предоставить относительный путь. Для неабсолютного пути объект File пытается найти файлы в корневом каталоге проекта.

Если мы запустим программу из командной строки, для неабсолютного пути объект File попытается найти файлы из текущего каталога. Экземпляры класса File являются неизменяемыми; то есть, после создания абстрактный путь, представленный объектом File, никогда не изменится.

Теперь давайте рассмотрим небольшой пример и разберемся, как он работает.

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

2. Создайте файл с классом java.io.FileOutputStream

Если вы хотите создать новый файл и в то же время, если хотите записать в него некоторые данные, вы можете использовать метод записи FileOutputStream. В Java FileOutputStream является классом потока байтов. Чтобы записать данные в файл, вы должны преобразовать данные в байты, а затем сохранить их в файл.

Класс FileOutputStream хранит данные в виде отдельных байтов. Может использоваться для создания текстовых файлов. Файл представляет собой хранилище данных на втором носителе, таком как жесткий диск или компакт-диск. Метод FileOutputStream.write() автоматически создает новый файл и записывает в него содержимое.

public static Path createFile(Path path, FileAttribute<?>. attrs) throws IOException

Создает новый и пустой файл, и если файл уже существует, то будет ошибка.

Далее, давайте посмотрим на создание временного файла.

4. Java также может создавать временные файлы

Создание временного файла в java может потребоваться во многих сценариях, но в основном это происходит во время модульных тестов, где вы не хотите сохранять результаты. Как только тестовый пример закончен, вас не волнует содержимое файла.

Создание временного файла с использованием java.io.File.createTempFile()

с использованием NIO

Для создания временного файла используются следующие два метода.

Вышеуказанный метод принимает четыре аргумента.

Путь -> указать каталог, в котором будет создан файл.

Строка -> чтобы упомянуть префикс имени файла. Используйте ноль, чтобы избежать префикса.

Строка -> чтобы упомянуть суффикс имени файла. т.е. расширение файла. Используйте null, чтобы использовать .tmp в качестве расширения.

attrs -> Это необязательно, чтобы упоминать список атрибутов файла, чтобы установить атомарно при создании файла

Чтобы работать с файлами, есть шикарный утилитный класс — java.nio.file.Files . У него есть методы просто на все случаи жизни. Все методы этого класса статические и работают с объектами типа Path. Методов очень много, поэтому мы рассмотрим только основные:

Метод Описание
Создает новый файл с путем path
Создает новую директорию
Создает несколько директорий
Создает временный файл
Создает временную директорию
Удаляет файл или директорию, если она пуста
Копирует файл
Перемещает файл
Проверяет, что путь — это директория, а не файл
Проверяет, что путь — это файл, а не директория
Проверяет, что объект по заданному пути существует
Возвращает размер файла
Возвращает все содержимое файла в виде массива байт
Возвращает все содержимое файла в виде строки
Возвращает все содержимое файла в виде списка строк
Записывает в файл массив байт
Записывает в файл строку
Возвращает коллекцию файлов (и поддиректорий) из заданной директории

2. Создание файлов и директорий

Файлы и директории создавать очень просто. Убедимся на примерах:

Код Примечание
Создает файл
Создает директорию
Создает директорию и все нужные поддиректории, если их не существует.

3. Копирование, перемещение и удаление

Копировать, перемещать и удалять файлы так же легко. На директории это тоже распространяется, но они должны быть пустые.

Код Примечание
Копирует файл
Перемещает и переименовывает файл
Удаляет файл

4. Проверка типа файла и факта существования

Когда у вас есть какой-то путь, полученный извне, вы бы хотели знать, это файл или директория. Ну и вообще: существует такой файл/директория или нет?

Для этого тоже есть специальные методы. Так же можно легко узнать длину файла:

Код Примечание

5. Работа с содержимым файла

И наконец, есть целая серия методов, которые позволяют легко прочитать или записать содержимое файла. Пример:

Как создать файл на Java с помощью JDK 6, JDK 7 с помощью NIO или Commons IO.

1. Обзор

В этом кратком руководстве мы узнаем, как создать новый файл на Java – сначала с помощью классов Files и Path из NIO, затем классов Java File и FileOutputStream , Google Guava и , наконец, библиотеки Apache Commons IO .

2. Настройка

В примерах мы определим константу для имени файла:

И мы также добавим шаг очистки, чтобы убедиться, что файл еще не существует перед каждым тестом, и удалить его после каждого запуска теста:

3. Использование файлов NIO.CreateFile()

Давайте начнем с , используя Files.CreateFile() метод из пакета Java NIO:

Как вы можете видеть, код по-прежнему очень прост; теперь мы используем новый Путь интерфейс вместо старого Файла .

Здесь следует отметить, что новый API хорошо использует исключения. Если файл уже существует, нам больше не нужно проверять код возврата. Вместо этого мы получим исключение FileAlreadyExistsException :

4. Использование файла.createNewFile()

Давайте теперь посмотрим, как мы можем сделать то же самое с помощью java.io.Файл класс:

Обратите внимание, что файл не должен существовать, чтобы эта операция прошла успешно. Если файл действительно существует, то операция create New File() вернет false.

5. Использование FileOutputStream

В этом случае новый файл создается при создании экземпляра объекта FileOutputStream . Если файл с заданным именем уже существует, он будет перезаписан . Если, однако, существующий файл является каталогом или новый файл не может быть создан по какой-либо причине, то мы получим исключение FileNotFoundException .

Кроме того, обратите внимание, что мы использовали оператор try-with-resources , чтобы убедиться, что поток правильно закрыт.

6. Использование гуавы

Решение Guava для создания нового файла также является быстрым однострочным:

7. Использование Apache Commons IO

Поэтому он создает новый пустой файл или даже файл и полный путь к нему в файловой системе:

Обратите внимание, что это ведет себя немного иначе, чем в предыдущих примерах: если файл уже существует, операция не завершается неудачно, она просто ничего не делает.

И вот он у нас – 4 быстрых способа создания нового файла на Java.

8. Заключение

В этой статье мы рассмотрели различные решения для создания файла на Java. Мы использовали классы, которые являются частью JDK и внешних библиотек.

Читайте также: