Crea un file e scrivi dati su di esso in Java
-
PrintWriter
per creare file in Java -
Files
per creare file in Java -
BufferedWriter
per creare file in Java -
FileWriter
per creare file 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