В Java существует множество способов создания и записи в файл.
Файлы.newbufferedwriter
( Java 8)Файлы.запись
(Java 7)Печатающий автор
Печатающий автор
Примечание Я предпочитаю Java 7 nio Files.write
для создания и записи в файл, потому что в нем гораздо более чистый код и автоматическое закрытие открытых ресурсов.
Files.write( Paths.get(fileName), data.getBytes(StandardCharsets.UTF_8));
1. Файлы Java 8.newbufferedwriter
1.1 В этом примере показано, как использовать новую Java 8 Files.newbufferedwriter для создания и записи в файл.
package com.mkyong.io.file; import java.io.BufferedWriter; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateFileJava8 { public static void main(String[] args) { String fileName = "/home/mkyong/newFile.txt"; Path path = Paths.get(fileName); // default, create, truncate and write to it. try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { writer.write("Hello World !!"); } catch (IOException e) { e.printStackTrace(); } /* Append mode. try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8, StandardOpenOption.APPEND)){ writer.write("Hello World !!"); } catch (IOException e) { e.printStackTrace(); }*/ } }
2. Файлы Java 7.запись
2.1 В этом примере показано, как использовать Java 7 nio Files.write для создания и записи в файл.
По умолчанию он открывает файл для записи; создайте файл, если он не существует; урежьте текущее содержимое, если файл существует.
package com.mkyong.io.file; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; public class CreateFileNio { public static void main(String[] args) { String fileName = "/home/mkyong/newFile.txt"; String content = "hello world!"; try { // Java 1.7 // default, create and write to it. Files.write( Paths.get(fileName), content.getBytes(StandardCharsets.UTF_8)); // Append content /*Files.write( Paths.get(fileName), content.getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);*/ } catch (IOException e) { e.printStackTrace(); } } }
2.2 Просмотрите Файлы.напишите.
исходный код ; он использует функцию “попробуйте с ресурсами” для автоматического закрытия открытых ресурсов.
package java.nio.file; public final class Files { public static Path write(Path path, byte[] bytes, OpenOption... options) throws IOException { // ensure bytes is not null before opening file Objects.requireNonNull(bytes); try (OutputStream out = Files.newOutputStream(path, options)) { int len = bytes.length; int rem = len; while (rem > 0) { int n = Math.min(rem, BUFFER_SIZE); out.write(bytes, (len-rem), n); rem -= n; } } return path; } //... }
3. Печатающий автор
3.1 В этом примере показано, как использовать PrintWriter для создания и записи в файл.
package com.mkyong.io.file; import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.StandardCharsets; public class CreateFile { public static void main(String[] args) { String fileName = "/home/mkyong/newFile.txt"; // Java 10, new constructor, support Charsets try (PrintWriter writer = new PrintWriter(fileName, StandardCharsets.UTF_8)) { writer.println("first line!"); writer.println("second line!"); } catch (IOException e) { e.printStackTrace(); } // Java 1.5 /*try (PrintWriter writer = new PrintWriter(fileName, "UTF-8")) { writer.println("first line!"); writer.println("second line!"); } catch (IOException e) { e.printStackTrace(); }*/ } }
4. Файл.Создать новый файл()
4.1 В этом примере показано, как использовать File.createNewFile() для создания пустого файла, а Файловую машинку для записи данных в файл.
package com.mkyong.io.file; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class CreateFile2 { public static void main(String[] args) { String fileName = "/home/mkyong/newFile.txt"; try { File file = new File(fileName); // true if file does no exist and was created successfully. // false if file is already exists if (file.createNewFile()) { System.out.println("File is created!"); } else { System.out.println("File already exists."); } // Write to file try (FileWriter writer = new FileWriter(file)) { writer.write("Hello World!"); } } catch (IOException e) { e.printStackTrace(); } } }
Скачать Исходный Код
$клон git $клон git
$cd java-ввод-вывод
Рекомендации
- Учебник по Оракулу – Перехват и обработка исключений
- Файлы.newbufferedwriter javadoc
- Файлы.напишите JavaDoc
- Печатающий редактор JavaDoc
- Файл.создать новый файл javadoc
- Файловый редактор javadoc
Оригинал: “https://mkyong.com/java/how-to-create-a-file-in-java/”