Как создать файл в 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();
}
}
}