Java FileWriter

1. Oversikt

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

2. FileWriter

FileWriter er enspesialisert OutputStreamWriter for å skrive karakterfiler. Det avslører ingen nye operasjoner, men fungerer med operasjonene arvet fra OutputStreamWriter og Forfatter klasser.

Inntil Java 11, FileWriter jobbet med standard tegnkoding og standard byte bufferstørrelse. Derimot, Java 11 introduserte fire nye konstruktører som godtar a Charset, derved tillate bruker-spesifisert Charset. Dessverre kan vi fremdeles ikke endre størrelsen på bytebufferen, og den er satt til 8192.

2.1. Instantiering av FileWriter

Det er fem konstruktører i FileWriter klasse hvis vi bruker en Java-versjon før Java 11.

La oss se på forskjellige konstruktører:

offentlig FileWriter (String filnavn) kaster IOException {super (ny FileOutputStream (filnavn)); } public FileWriter (String fileName, boolean append) kaster IOException {super (new FileOutputStream (fileName, append)); } offentlig FileWriter (filfil) kaster IOException {super (ny FileOutputStream (fil)); } public FileWriter (File file, boolean append) kaster IOException {super (ny FileOutputStream (file, append)); } offentlig FileWriter (FileDescriptor fd) {super (ny FileOutputStream (fd)); }

Java 11 introduserte fire ekstra konstruktører:

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

2.2. Skrive en String til en fil

La oss nå bruke en av FileWriter konstruktører å lage en forekomst av FileWriter og skriv deretter til en fil:

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

Vi har brukt den eneste argumentkonstruktøren av FileWriter som godtar et filnavn. Vi bruker deretter skriv (strengstr) operasjon arvet fra Forfatter klasse. Siden FileWriter er Kan lukkes automatisk, har vi brukt prøv-med-ressurser slik at vi ikke trenger å lukke FileWriter eksplisitt.

Ved utføring av ovennevnte kode, vil String vil bli skrevet til den angitte filen:

Hei folkens!

De FileWriter garanterer ikke om FileWriterTest.txt-filen vil være tilgjengelig eller opprettes. Det er avhengig av den underliggende plattformen.

Vi må også notere at enkelte plattformer bare tillater en enkelt FileWriter forekomst for å åpne filen. I så fall er de andre konstruktørene av FileWriter klasse mislykkes hvis den involverte filen allerede er åpen.

2.3. Legge til en String til en fil

Vi trenger ofte å legge til data til det eksisterende innholdet i en fil. La oss nå se et eksempel på en FileWriter som støtter appending:

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

Som vi kan se, har vi brukt toargumentkonstruktøren som godtar et filnavn og en boolsk flagg legge til. Passerer flagget legge til som ekte skaper en FileWriter som lar oss legge til tekst til eksisterende innhold i en fil.

Når du utfører koden, får vi String lagt til det eksisterende innholdet i den angitte filen:

Hei folkens! Hei folkens igjen! 

3. Konklusjon

I denne artikkelen lærte vi om komfortklassen FileWriter og et par måter som FileWriter kan opprettes. Vi brukte den til å skrive data til en fil.

Som alltid er den komplette kildekoden for opplæringen tilgjengelig på GitHub.


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