Создать файл java linux

Java Create and Write To Files

To create a file in Java, you can use the createNewFile() method. This method returns a boolean value: true if the file was successfully created, and false if the file already exists. Note that the method is enclosed in a try. catch block. This is necessary because it throws an IOException if an error occurs (if the file cannot be created for some reason):

Example

import java.io.File; // Import the File class import java.io.IOException; // Import the IOException class to handle errors public class CreateFile < public static void main(String[] args) < try < File myObj = new File("filename.txt"); if (myObj.createNewFile()) < System.out.println("File created: " + myObj.getName()); >else < System.out.println("File already exists."); >> catch (IOException e) < System.out.println("An error occurred."); e.printStackTrace(); >> > 

To create a file in a specific directory (requires permission), specify the path of the file and use double backslashes to escape the » \ » character (for Windows). On Mac and Linux you can just write the path, like: /Users/name/filename.txt

Example

File myObj = new File("C:\\Users\\MyName\\filename.txt"); 

Write To a File

In the following example, we use the FileWriter class together with its write() method to write some text to the file we created in the example above. Note that when you are done writing to the file, you should close it with the close() method:

Example

import java.io.FileWriter; // Import the FileWriter class import java.io.IOException; // Import the IOException class to handle errors public class WriteToFile < public static void main(String[] args) < try < FileWriter myWriter = new FileWriter("filename.txt"); myWriter.write("Files in Java might be tricky, but it is fun enough!"); myWriter.close(); System.out.println("Successfully wrote to the file."); >catch (IOException e) < System.out.println("An error occurred."); e.printStackTrace(); >> > 

To read the file above, go to the Java Read Files chapter.

Читайте также:  How to linux command history

Источник

Java — создать файл

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

Эта статья является частью серии «Java — Back to Basic» здесь, на ForEach.

2. Настройка​

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

 private final String FILE_NAME = "src/test/resources/fileToCreate.txt"; 

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

 @AfterEach   @BeforeEach   public void cleanUpFiles()    File targetFile = new File(FILE_NAME);   targetFile.delete();   > 

3. Использование NIO Files.createFile()

Начнем с использования метода Files.createFile() из пакета Java NIO:

 @Test   public void givenUsingNio_whenCreatingFile_thenCorrect() throws IOException    Path newFilePath = Paths.get(FILE_NAME);   Files.createFile(newFilePath);   > 

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

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

 java.nio.file.FileAlreadyExistsException: code class="language-java">src/test/resources/fileToCreate.txt 

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

Давайте теперь посмотрим, как мы можем сделать то же самое, используя класс java.io.File :

 @Test   public void givenUsingFile_whenCreatingFile_thenCorrect() throws IOException    File newFile = new File(FILE_NAME);   boolean success = newFile.createNewFile();   assertTrue(success);   > 

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

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

Другой способ создать новый файл — использовать java.io.FileOutputStream :

 @Test   public void givenUsingFileOutputStream_whenCreatingFile_thenCorrect() throws IOException    try(FileOutputStream fileOutputStream = new FileOutputStream(FILE_NAME))   >   > 

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

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

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

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

 @Test   public void givenUsingGuava_whenCreatingFile_thenCorrect() throws IOException    com.google.common.io.Files.touch(new File(FILE_NAME));   > 

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

Библиотека Apache Commons предоставляет метод FileUtils.touch() , который реализует то же поведение, что и утилита « touch » в Linux.

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

 @Test   public void givenUsingCommonsIo_whenCreatingFile_thenCorrect() throws IOException    FileUtils.touch(new File(FILE_NAME));   > 

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

Вот и все — 4 быстрых способа создать новый файл в Java.

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

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

Источник

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

Когда закончите и запустите программу, результат будет иметь следующий вид:

Результат

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

Источник

Оцените статью
Adblock
detector