Как создать файл в Java
Создание нового файла в Java не такое уж сложное дело. Эта статья поможет новичкам научиться, как создать и записать новый файл в Java.
Сначала научимся, как создать новые файлы в Java.
Есть много способов для этого, но в этой статье мы расскажем о трех способах создания файла.
Используйте класс java.io.File
При установлении объекта File вы указываете название файла и дальше используйте метод createNewFile(), который атомарно создает новый пустой файл с названием абстрактного пути, но только в случае, если файл с таким названием не существует.
Данный метод возвращает true, если названный файл не существует и был успешно создан. Возвращает false, если файл существует. Он также создает java.io.IOException, когда не может создать файл. Созданный файл пуст и имеет нулевой байт.
Данный метод не должен быть использован для блокировки файлов, так как протокол, созданный в результате этого, не может надежно работать.
Запомните, что этот метод только создает файл, но не записывает к нему контент.
Пример
// Java программа для демонстрирования метода createNewFile() import java.io.File; public class FileCreator < public static void main(String args[]) < try < // Возьмите файл File f = new File("D:\\example.txt"); //Создайте новый файл // Убедитесь, что он не существует if (f.createNewFile()) System.out.println("File created"); else System.out.println("File already exists"); > catch (Exception e) < System.err.println(e); >> >
Когда закончите и запустите программу, результат будет иметь следующий вид:
Результат
Файл создан (File created)
2. Используйте класс java.io.FileOutputStream
Если хотите создать новый файл и одновременно записать какую-нибудь информацию в нем, можете использовать метод FileOutputStream.write. Этот метод автоматически создает новый файл и записывает в нем контент.
Метод FileOutputStream используется для записи байтов в файл. Если хотите записать символьно-ориентированную информацию, будет лучше использовать FileWriter.
Смотрите использование кода:
Пример
String fileData = "Some Test"; FileOutputStream fos = new FileOutputStream("D:\\example.txt"); fos.write(fileData.getBytes()); fos.flush(); fos.close();
3. Используйте Java NIO Files.write()
Используйте класс Java NIO Files для создания нового файла и записи информации в нем. Этот Java класс представляет метод write(Path path, byte[] bytes, OpenOption… options), который записывает байты к файлу по указанному пути.
С использованием класса Files возможно создавать, перемещать, копировать, удалять файлы и каталоги. Он также может быть использован для записи и чтения файла.
Files.write() — это рекомендуемый способ создания файла, так как вам не придется беспокоиться о закрытии ресурсов IO.
Этот класс имеет следующие параметры:
- lines — объект для реализования последовательности символов. Запишите строки текста к файлу. Каждая строка — это последовательность символов и записывается к файлу поочередно. Каждая строка заканчивается разделителем строки платформы.
- options — Этот параметр указывает, как создается или открывается файл. Если никакой параметр не указан, по умолчанию будут выбраны параметры CREATE, TRUNCATE_EXISTING and WRITE. Это означает, что он открывает файл для записи и создает файл, если он не существует, или размер файла доводит до 0, если файл существует.
- path — Указывает путь.
- cs — Набор символов, используемый для кодировки
All the bytes in byte array are written to the file. This method ensures that the file is closed when all the bytes have been written and returns the path of written file.
Пример
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class FilesWriterExample < public static void main(String[] args) < Path path = Paths.get("D:/data/example.txt"); try < String str = "Some write file Example"; byte[] bs = str.getBytes(); Path writtenFilePath = Files.write(path, bs); System.out.println("Written content in file:\n"+ new String(Files.readAllBytes(writtenFilePath))); > catch (Exception e) < e.printStackTrace(); >> >
Как создать файл в Java
Класс File имеет три конструктора и ряд полезных методов. Ниже перечислены три конструктора:
File("file name") File("Directory name") File("directory name", "Filename")
Для создания файла используйте метод File.createNewFile(). Этот метод возвращает логическое значение: true, если файл успешно создан в указанном пути; false, если файл уже существует или по какой-то причине сбой программы.
import Java.util.*; import Java.io.*; class TestClass< public static void main( String[] args ) < try< File file = new File("c:\\temp.txt"); if (file.createNewFile())< // return true System.out.println("New file is created!!"); >else < // вернуть false System.out.println("temp.txt already exists."); >> catch (IOException e) < e.printStackTrace(); >> >
Выход
New file is created!
(Пока оценок нет)
Java создать файл в папке
Мне понадобилось создать файл в папке, но какие бы методы не пробовал — пишут ошибку. Звучат они все примерно так:
(Системе не удается найти указанный путь)
так вот, у меня в проекте есть папка «Save» в ней нужно создать файл я пробовал вот такой вариант:
String filePath = new File("Save").getAbsolutePath(); FileWriter fstream = new FileWriter(filePath + "\\test.txt"); BufferedWriter out = new BufferedWriter(fstream);
и вот такой:
String filePath = new File("Save").getAbsolutePath(); File file = new File(filePath + "\\test.txt"); file.createNewFile();
всё бестолку. В интернете нечего толкового не нашёл. Заранее спасибо.
Создание и запись в файл в Java
Основная задача, с которой сталкиваются начинающие разработчики на Java, это создание и запись в файл. Допустим, есть задача сохранить результаты работы программы или пользовательский ввод в текстовый файл. В Java для этого существует несколько способов, но рассмотрим самый простой из них.
Создание файла
В Java для создания файла используется класс File . Этот класс представляет собой абстракцию файлов и каталогов. Вот простой пример создания файла:
import java.io.File; import java.io.IOException; public class Main < public static void main(String[] args) < try < File file = new File("example.txt"); if (file.createNewFile()) < System.out.println("Файл создан"); >else < System.out.println("Файл уже существует"); >> catch (IOException e) < System.out.println("Ошибка при создании файла"); e.printStackTrace(); >> >
В этом примере создается новый объект File с именем «example.txt». Метод createNewFile() возвращает true , если файл был успешно создан, и false , если файл уже существует.
Запись в файл
После того, как файл был создан, можно начать запись в него. Для этого в Java используется класс FileWriter . Этот класс предоставляет методы для записи символьных данных в файл. Вот пример записи в файл:
import java.io.FileWriter; import java.io.IOException; public class Main < public static void main(String[] args) < try < FileWriter writer = new FileWriter("example.txt"); writer.write("Привет, мир!"); writer.close(); >catch (IOException e) < System.out.println("Ошибка при записи в файл"); e.printStackTrace(); >> >
В этом примере создается новый объект FileWriter , который связан с файлом «example.txt». Метод write() используется для записи строки «Привет, мир!» в файл. После записи в файл, его необходимо закрыть с помощью метода close() .
Таким образом, с помощью классов File и FileWriter , можно легко создать файл и записать в него данные.
