Crea un file e scrivi dati su di esso in Java

Hassan Saeed 12 ottobre 2023
  1. PrintWriter per creare file in Java
  2. Files per creare file in Java
  3. BufferedWriter per creare file in Java
  4. FileWriter per creare file in Java
Crea un file e scrivi dati su di esso in Java

Questo tutorial discute i metodi per creare un file di testo e scrivere dati su di esso in Java.

Java ha più metodi per creare un file. L’unica cosa da ricordare è che il blocco try-catch è necessario per quasi tutti i metodi di creazione di file in modo che ogni eccezione IO sia gestita con garbo. Non dimenticare di usarlo.

PrintWriter per creare file in Java

Il PrintWriter in Java ti permette di creare un nuovo file con la codifica specificata. Ecco un esempio.

import java.io.*;

public class Main {
  public static void main(String[] args) {
    String fileName = "my-file.txt";
    String encoding = "UTF-8";
    try {
      PrintWriter writer = new PrintWriter(fileName, encoding);
      writer.println("The first line");
      writer.println("The second line");
      writer.close();
    } catch (IOException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

Files per creare file in Java

Possiamo anche usare java.nio.file per creare un file e scrivere dati su di esso. L’esempio seguente illustra questo approccio.

import java.io.*;
import java.nio.charset.*;
import java.nio.file.*;
import java.util.*;

public class Main {
  public static void main(String[] args) {
    String fileName = "my-file.txt";
    try {
      List<String> lines = Arrays.asList("The first line", "The second line");
      Path file = Paths.get(fileName);
      Files.write(file, lines, StandardCharsets.UTF_8);
    } catch (IOException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

In questo esempio, scriviamo i dati da un ArrayList nel file in modo tale che ogni elemento in ArrayList venga scritto su una nuova riga nel file di output. Il file di output ha questo aspetto:

> The first line
> The second line

BufferedWriter per creare file in Java

L’esempio seguente illustra la creazione e la scrittura su un file utilizzando BufferedWriter.

import java.io.*;
import java.nio.charset.*;
import java.util.*;

public class Main {
  public static void main(String[] args) {
    Charset utf8 = StandardCharsets.UTF_8;
    List<String> list = Arrays.asList("This is the first line", "This is the second line");
    String content = "This is my content";

    try {
      // File name with path
      String fileName = "my-file.txt";
      File myFile = new File(fileName);
      FileOutputStream fos = new FileOutputStream(myFile);
      OutputStreamWriter osw = new OutputStreamWriter(fos);
      Writer writer = new BufferedWriter(osw);
      // Write data using a String variable
      writer.write(content + "\n");

      // Write data from an ArrayList
      for (String s : list) {
        writer.write(s + "\n");
      }

    } catch (IOException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

Il file di output ha questo aspetto:

> This is my content
> This is the first line
> This is the second line

FileWriter per creare file in Java

Un altro metodo comune per creare un nuovo file e scriverlo in Java è usare FileWriter.

import java.io.*;

public class Main {
  public static void main(String[] args) {
    try {
      FileWriter myWriter = new FileWriter("my-file.txt");
      myWriter.write("We can also create a file and write to it using FileWriter");
      myWriter.close();
    } catch (IOException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

Il file di output ha questo aspetto:

> We can also create a file and write to it using FileWriter

Articolo correlato - Java File