Java FileWriter

1. Oversigt

I denne vejledning lærer og forstår vi FileWriter klasse til stede i java.io pakke.

2. FileWriter

FileWriter er enspecialiseret OutputStreamWriter til skrivning af tegnfiler. Det udsætter ikke nye operationer, men fungerer med de operationer, der er arvet fra OutputStreamWriter og Forfatter klasser.

Indtil Java 11 er FileWriter arbejdet med standard tegnkodning og standard byte buffer størrelse. Imidlertid, Java 11 introducerede fire nye konstruktører, der accepterer en Charset, derved tillader bruger-specificeret Charset. Desværre kan vi stadig ikke ændre bytebufferstørrelsen, og den er indstillet til 8192.

2.1. Instantiering af FileWriter

Der er fem konstruktører i FileWriter klasse, hvis vi bruger en Java-version før Java 11.

Lad os se på forskellige konstruktører:

offentlig FileWriter (String filnavn) kaster IOException {super (ny FileOutputStream (filnavn)); } offentlig FileWriter (streng filnavn, boolsk append) kaster IOException {super (ny FileOutputStream (filnavn, tilføj)); } offentlig FileWriter (filfil) kaster IOException {super (ny FileOutputStream (fil)); } offentlig FileWriter (filfil, boolsk tilføjelse) kaster IOException {super (ny FileOutputStream (fil, tilføj)); } offentlig FileWriter (FileDescriptor fd) {super (ny FileOutputStream (fd)); }

Java 11 introducerede fire yderligere konstruktører:

offentlig FileWriter (String fileName, Charset charset) kaster IOException {super (nyt FileOutputStream (fileName), charset); } offentlig FileWriter (String fileName, Charset charset, boolean append) kaster IOException {super (ny FileOutputStream (fileName, append), charset); } offentlig FileWriter (File-fil, Charset-charset) kaster IOException {super (ny FileOutputStream (fil), charset); } public FileWriter (File file, Charset charset, boolean append) kaster IOException {super (ny FileOutputStream (fil, append), charset); }

2.2. Skrivning af en Snor til en fil

Lad os nu bruge en af FileWriter konstruktører til at oprette en forekomst af FileWriter og skriv derefter til en fil:

prøv (FileWriter fileWriter = ny FileWriter ("src / test / resources / FileWriterTest.txt")) {fileWriter.write ("Hej folk!"); }

Vi har brugt den eneste argumentkonstruktør af FileWriter der accepterer et filnavn. Vi bruger derefter skriv (strengstr) operation arvet fra Forfatter klasse. Siden den FileWriter er Kan lukkes automatisk, vi har brugt prøve-med-ressourcer, så vi ikke behøver at lukke FileWriter eksplicit.

Ved udførelse af ovenstående kode er Snor vil blive skrevet til den angivne fil:

Hej folkens!

Det FileWriter garanterer ikke, om FileWriterTest.txt-filen vil være tilgængelig eller oprettes. Det afhænger af den underliggende platform.

Vi skal også notere, at visse platforme muligvis kun tillader en enkelt FileWriter instans for at åbne filen. I så fald er de andre konstruktører af FileWriter klasse mislykkes, hvis den involverede fil allerede er åben.

2.3. Tilføje en Snor til en fil

Vi har ofte brug for at føje data til det eksisterende indhold i en fil. Lad os nu se et eksempel på en FileWriter der understøtter tilføjelse:

prøv (FileWriter fileWriter = ny FileWriter ("src / test / resources / FileWriterTest.txt", sandt)) {fileWriter.write ("Hej folk igen!"); }

Som vi kan se, har vi brugt to-argument konstruktøren, der accepterer et filnavn og en boolsk flag Tilføj. Passerer flaget Tilføj som rigtigt skaber en FileWriter der giver os mulighed for at tilføje tekst til eksisterende indhold i en fil.

Når vi udfører koden, har vi den Snor vedhæftet det eksisterende indhold i den angivne fil:

Hej Folk! Hej Folk igen! 

3. Konklusion

I denne artikel lærte vi om komfortklassen FileWriter og et par måder, hvorpå FileWriter kan oprettes. Vi brugte det derefter til at skrive data til en fil.

Som altid er den komplette kildekode til vejledningen tilgængelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found