Salva una stringa in un file in Java

Rashmi Patidar 12 ottobre 2023
  1. Scrivere una stringa in un file utilizzando la classe PrintWriter in Java
  2. Scrivere una stringa in un file utilizzando la classe File di Java7
  3. Scrivere una stringa in un file utilizzando la classe FileWriter in Java
Salva una stringa in un file in Java

Questo articolo introdurrà i metodi per scrivere una stringa in un file in Java.

Scrivere una stringa in un file utilizzando la classe PrintWriter in Java

Per scrivere una stringa in un file, possiamo usare la classe PrintWriter. Il costruttore della classe crea un file con il nome specificato dato come parametro.

Il costruttore lancia FileNotFoundException se la stringa non esiste, o se non possiamo creare il file, o se si verifica qualche altro errore durante l’apertura o la creazione del file.

La funzione println() stamperà la stringa nel file e terminerà una riga.

Il metodo close() chiuderà il flusso e alleggerirà le risorse di sistema ad esso associate.

package writeStringToFile;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;

public class WriteStringToFile {
  public static void main(String[] args) {
    PrintWriter printWriter = null;
    String textToBeWritten = "Hello";
    {
      try {
        printWriter = new PrintWriter("writerFile.txt");
      } catch (FileNotFoundException e) {
        System.out.println("Unable to locate the fileName: " + e.getMessage());
      }
      Objects.requireNonNull(printWriter).println(textToBeWritten);
      printWriter.close();
    }
  }
}

Scrivere una stringa in un file utilizzando la classe File di Java7

La classe Files consiste esclusivamente di metodi statici che operano su file, directory o altri tipi di file. Il metodo write() scrive i byte su un file. I parametri delle opzioni specificano come il file viene creato o aperto. Se non sono presenti opzioni, questo metodo funziona come se le opzioni CREATE, TRUNCATE_EXISTING e WRITE fossero già presenti.

Il metodo accetta due parametri, path e bytes.

Il path specifica il percorso del file di destinazione. Il metodo getBytes() converte la stringa nel formato Byte.

Il metodo genera IOException se si verifica un errore durante la scrittura o la creazione di un file.

package writeStringToFile;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class WriteStringToFileJava7 {
  public static void main(String[] args) throws IOException {
    String contentToWrite = "Hello File!";
    String path =
        "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
    Files.write(Paths.get(path), contentToWrite.getBytes());
  }
}

Scrivere una stringa in un file utilizzando la classe FileWriter in Java

La classe BufferedWriter crea un flusso di output di caratteri bufferizzato che utilizza un buffer di output di dimensioni predefinite. Accetta qualsiasi oggetto writer come parametro. Il costruttore della classe FileWriter prende il nome del file, che è l’obiettivo per memorizzare la stringa. Il metodo write scrive il testo nel file associato nell’oggetto. Questo metodo genera IOException quando il file non è localizzabile.

Ora nel blocco finally, si dovrebbero rilasciare le risorse per le operazioni di input e output. Il metodo close lancia inoltre la classe IOException, quindi dovremmo usare la funzione close nel blocco try-catch o aggiungere la clausola throws nel metodo genitore.

package writeStringToFile;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileUsingFileWriter {
  public static void main(String[] args) throws IOException {
    BufferedWriter bufferedWriter = null;
    try {
      bufferedWriter = new BufferedWriter(new FileWriter("targetFile.txt"));
      bufferedWriter.write("Hey! Content to write in File");

    } catch (IOException e) {
      System.out.println("Exception occurred: " + e.getMessage());

    } finally {
      if (bufferedWriter != null)
        bufferedWriter.close();
    }
  }
}
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Articolo correlato - Java String

Articolo correlato - Java File