Есть несколько способов сделать это:
Запись с помощью BufferedWriter:
public void writeWithBufferedWriter()
throws IOException {
String str = "Hello";
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
writer.write(str);
writer.close();
}
Если вы хотите добавить в файл:
public void appendUsingBufferedWritter()
throws IOException {
String str = "World";
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true));
writer.append(' ');
writer.append(str);
writer.close();
}
Использование PrintWriter:
public void usingPrintWriteru()
throws IOException {
FileWriter fileWriter = new FileWriter(fileName);
PrintWriter printWriter = new PrintWriter(fileWriter);
printWriter.print("Some String");
printWriter.printf("Product name is %s and its price is %d $", "iPhone", 1000);
printWriter.close();
}
Использование FileOutputStream:
public void usingFileOutputStream()
throws IOException {
String str = "Hello";
FileOutputStream outputStream = new FileOutputStream(fileName);
byte[] strToBytes = str.getBytes();
outputStream.write(strToBytes);
outputStream.close();
}
Примечание:
- Если вы попытаетесь записать файл, который не существует, файл будет создан первым, и исключение не будет выдано.
- Очень важно закрыть поток после его использования, поскольку он не закрыт неявно, чтобы освободить любые ресурсы, связанные с ним.
- В выходном потоке метод close () вызывает flush () перед освобождением ресурсов, что заставляет записывать любые буферизованные байты в поток.
Источник и другие примеры: https://www.baeldung.com/java-write-to-file
Надеюсь, это поможет. Удачи.