Java Skriv till fil – 4 sätt att skriva fil i Java

Java Skriv till fil – 4 sätt att skriva fil i Java

Introduktion

I Java finns det flera sätt att skriva data till en fil. Det beror på om du vill skriva text, binära data eller om du vill formatera utdata. I den här artikeln kommer vi att diskutera fyra olika sätt att skriva till en fil i Java:

* Använda BufferedWriter-klassen för att skriva text till en fil
* Använda FileOutputStream-klassen för att skriva binära data till en fil
* Använda FileWriter-klassen för att skriva teckenbaserad data till en fil
* Använda PrintWriter-klassen för att skriva formaterad utdata till en fil

1. Skriva text till en fil med BufferedWriter-klassen

BufferedWriter-klassen är en del av Java I/O-biblioteket och den används för att skriva text till en fil. Den använder en buffring för att förbättra prestandan, vilket innebär att data skrivs till en intern buffert först och sedan skrivs till filen när bufferten är full eller när flush()-metoden anropas.

Här är ett exempel på hur du använder BufferedWriter-klassen för att skriva text till en fil:

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

public class WriteToFileBufferedWriter {

public static void main(String[] args) {
try {
// Skapa en BufferedWriter-instans som skriver till en fil som heter "output.txt"
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));

// Skriv text till filen
writer.write("Hej, världen!");

// Spola bufferten och skriv data till filen
writer.flush();

// Stäng BufferedWriter-instansen
writer.close();

System.out.println("Text skriven till filen output.txt");
} catch (IOException e) {
System.out.println("Kunde inte skriva till filen: " + e.getMessage());
}
}
}

2. Skriva binära data till en fil med FileOutputStream-klassen

FileOutputStream-klassen används för att skriva binära data till en fil. Den skriver data direkt till filen utan att använda någon buffring.

Här är ett exempel på hur du använder FileOutputStream-klassen för att skriva binära data till en fil:

java
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileFileOutputStream {

public static void main(String[] args) {
try {
// Skapa en FileOutputStream-instans som skriver till en fil som heter "output.bin"
FileOutputStream outputStream = new FileOutputStream("output.bin");

// Skriv binära data till filen
byte[] data = {1, 2, 3, 4, 5};
outputStream.write(data);

// Stäng FileOutputStream-instansen
outputStream.close();

System.out.println("Binära data skrivna till filen output.bin");
} catch (IOException e) {
System.out.println("Kunde inte skriva till filen: " + e.getMessage());
}
}
}

3. Skriva teckenbaserad data till en fil med FileWriter-klassen

FileWriter-klassen är en del av Java I/O-biblioteket och den används för att skriva teckenbaserad data till en fil. Den fungerar på samma sätt som BufferedWriter, men den använder inte någon buffring.

Här är ett exempel på hur du använder FileWriter-klassen för att skriva teckenbaserad data till en fil:

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

public class WriteToFileFileWriter {

public static void main(String[] args) {
try {
// Skapa en FileWriter-instans som skriver till en fil som heter "output.txt"
FileWriter writer = new FileWriter("output.txt");

// Skriv teckenbaserad data till filen
writer.write("Hej, världen!");

// Stäng FileWriter-instansen
writer.close();

System.out.println("Teckenbaserad data skriven till filen output.txt");
} catch (IOException e) {
System.out.println("Kunde inte skriva till filen: " + e.getMessage());
}
}
}

4. Skriva formaterad utdata till en fil med PrintWriter-klassen

PrintWriter-klassen är en del av Java I/O-biblioteket och den används för att skriva formaterad utdata till en fil. Den använder PrintStream-klassen för att formatera utdata innan den skrivs till filen.

Här är ett exempel på hur du använder PrintWriter-klassen för att skriva formaterad utdata till en fil:

java
import java.io.PrintWriter;
import java.io.IOException;

public class WriteToFilePrintWriter {

public static void main(String[] args) {
try {
// Skapa en PrintWriter-instans som skriver till en fil som heter "output.txt"
PrintWriter writer = new PrintWriter("output.txt");

// Skriv formaterad utdata till filen
writer.printf("Namn: %s", "John Doe");

// Stäng PrintWriter-instansen
writer.close();

System.out.println("Formaterad utdata skriven till filen output.txt");
} catch (IOException e) {
System.out.println("Kunde inte skriva till filen: " + e.getMessage());
}
}
}

Slutsats

I den här artikeln har vi diskuterat fyra olika sätt att skriva till en fil i Java:

* Använda BufferedWriter-klassen för att skriva text till en fil
* Använda FileOutputStream-klassen för att skriva binära data till en fil
* Använda FileWriter-klassen för att skriva teckenbaserad data till en fil
* Använda PrintWriter-klassen för att skriva formaterad utdata till en fil

Beroende på dina behov kan du välja den metod som passar dig bäst. BufferedWriter-klassen är ett bra val för att skriva text till en fil, medan FileOutputStream-klassen är bättre för att skriva binära data. FileWriter-klassen kan användas för att skriva teckenbaserad data, och PrintWriter-klassen är användbar för att skriva formaterad utdata.

Vanliga frågor

1. Hur öppnar jag en fil för skrivning i Java?

Du kan öppna en fil för skrivning i Java med hjälp av en av följande metoder:

* new BufferedWriter(new FileWriter("filnamn.txt"))
* new FileOutputStream("filnamn.txt")
* new FileWriter("filnamn.txt")
* new PrintWriter("filnamn.txt")

2. Hur skriver jag en sträng till en fil i Java?

Du kan skriva en sträng till en fil i Java med hjälp av write()-metoden i BufferedWriter, FileOutputStream, FileWriter eller PrintWriter.

3. Hur skriver jag till en befintlig fil i Java?

Om du vill skriva till en befintlig fil i Java måste du öppna filen med append=true-flaggan. Detta kommer att lägga till dina data i slutet av filen istället för att skriva över den.

4. Hur stänger jag en fil i Java?

Du kan stänga en fil i Java med hjälp av close()-metoden i BufferedWriter, FileOutputStream, FileWriter eller PrintWriter.

5. Hur hanterar jag filundantag i Java?

Du kan hantera filundantag i Java genom att fånga IOException-undantaget.

6. Vad är en buffrad författare i Java?

En buffrad författare är en klass i Java som används för att skriva teckenbaserad data till en fil. Den använder en buffert för att förbättra prestandan.

7. Vad är skillnaden mellan FileWriter och BufferedWriter i Java?

FileWriter skriver teckenbaserad data direkt till en fil, medan BufferedWriter skriver teckenbaserad data till en buffert som sedan skrivs till filen när bufferten är full eller när flush()-metoden anropas.

8. Vad används PrintWriter-klassen till i Java?

PrintWriter-klassen används för att skriva formaterad utdata till en fil. Den använder PrintStream-klassen för att formatera utdata innan den skrivs till filen.