Java FileWriter

Java FileWriter-Luokka, java.io.FileWriter, mahdollistaa merkkien kirjoittamisen tiedostoon. Tässä suhteessa Java FileWriter toimii pitkälti FileOutputStream: n tavoin, paitsi että a FileOutputStream on tavupohjainen, kun taas a FileWriter on merkkipohjainen. FileWriter on tarkoitettu tekstin kirjoittamiseen, toisin sanoen. Yksi merkki voi vastata yhtä tai useampaa tavua riippuen käytössä olevasta merkistökoodausjärjestelmästä. Java FileWriter – luokka on Javan Kirjoittajaluokan alaluokka.

Filewriterin esimerkki

tässä on yksinkertainen Java FileWriter esimerkki:

Writer fileWriter = new FileWriter("data\filewriter.txt");fileWriter.write("data 1");fileWriter.write("data 2");fileWriter.write("data 3");fileWriter.close();

Huomautus: Poikkeusten asianmukainen käsittely on jätetty tässä selvyyden vuoksi väliin. Lisätietoja poikkeusten oikeasta käsittelystä on Java IO poikkeusten käsittelystä.

FileWriter: llä on myös muita konstruktioita, joiden avulla voit määrittää kirjoitettavan tiedoston eri tavoin. Katso lisätietoja viralliselta Javadocilta.

Ylikirjoittaminen vs. tiedoston liittäminen

kun luot Java FileWriter voit päättää, haluatko korvata minkä tahansa olemassa olevan tiedoston, jolla on sama nimi, vai haluatko liittää johonkin olemassa olevaan tiedostoon. Päätät, että valitsemalla mitä FileWriter rakentaja käytät.

FileWriter konstruktori, joka ottaa vain yhden parametrin, tiedostonimen, korvaa minkä tahansa olemassa olevan tiedoston:

Writer fileWriter = new FileWriter("c:\data\output.txt");

FileWriter on rakentaja, joka ottaa 2 parametrit liian: tiedoston nimi ja boolean. Boolean ilmaisee, lisätäänkö vai korvataanko olemassa oleva tiedosto. Tässä on kaksi Java FileWriter – esimerkkiä, jotka osoittavat, että:

Writer fileWriter = new FileWriter("c:\data\output.txt", true); //appends to fileWriter fileWriter = new FileWriter("c:\data\output.txt", false); //overwrites file

FileWriter-merkistökoodaus

FileWriter olettaa, että haluat koodata tiedoston tavut käyttämällä oletusmerkkikoodausta sille tietokoneelle, jossa sovelluksesi on käynnissä. Tämä ei välttämättä aina ole sitä, mitä haluat, etkä voi muuttaa sitä!

jos haluat määrittää erilaisen merkistökoodauksen, älä käytä FileWriter – merkkiä. Käytä OutputStreamWriter sen sijaan FileOutputStream. OutputStreamWriter voit määrittää merkistökoodausohjelman, jota käytetään kirjoitettaessa tavuja taustalla olevaan tiedostoon.

write (int)

Java FileWriter write(int) – menetelmä kirjoittaa int alempaa 16 bittiä kohteeseen, johon FileWriter on liitetty, yhtenä merkkinä. Tässä on esimerkki yhden merkin kirjoittamisesta Jaavalle FileWriter:

FileWriter fileWriter = new FileWriter("data/output.txt");fileWriter.write('A');

write(char)

Javalla FileWriter on myös write(char) – menetelmä, jolla voidaan kirjoittaa joukko merkkejä kohteeseen, johon FileWriter on liitetty. write(char) – menetelmä palauttaa FileWriter: ään kirjoitettujen merkkien määrän. Tässä on esimerkki kirjallisesti joukko merkkejä Java FileWriter:

FileWriter fileWriter = new FileWriter("data/output.txt");char chars = new char{'A','B','C','D','E'};fileWriter.write(chars);

kirjoitusteho

Java-Fileeraajalle on nopeampaa kirjoittaa joukko merkkejä kuin kirjoittaa yksi merkki kerrallaan. Speedup voi olla melko merkittävä – jopa 10 x suurempi tai enemmän. Siksi on suositeltavaa käyttää write(char) – menetelmiä aina kun se on mahdollista.

tarkka ajonopeus riippuu sen tietokoneen käyttöjärjestelmästä ja laitteistosta, jolla käytät Java-koodia. Speedup riippuu tämmöisestä muistin nopeudesta, kiintolevyn nopeudesta ja puskurikooista jne.

läpinäkyvä puskurointi Bufferedwriterin kautta

Java FileWriter: lle kirjoitettujen tavujen läpinäkyvän puskuroinnin saa käärimällä sen Java-Puskuriohjelmaan . Kaikki BufferedWriter: lle kirjoitetut tavut puskuroidaan ensin BufferedWriter: n sisäisen tavuryhmän sisään. Kun puskuri on täynnä, puskuri huuhtoutuu kohde-etuuteen FileWriter kerralla. Tässä on esimerkki Jaavan FileWriter käärimisestä a BufferedWriter:

int bufferSize = 8 * 1024;Writer writer = new BufferedWriter( new FileWriter("c:\data\output-file.txt"), bufferSize );

voit lukea lisää BufferedWriter: stä BufferedWriter-opetusohjelmastani.

huuhtelu ()

Java FileWriter’s flush() – menetelmä huuhtoo kaikki FileWriter – tiedostoon kirjoitetut tiedot taustalla olevaan tiedostoon. Tiedot saattavat puskuroitua käyttöjärjestelmän muistiin jonnekin, vaikka Java-koodisi olisi kirjoittanut sen FileWriter: lle. Soittamalla flush() voit varmistaa, että kaikki puskuroidut tiedot huuhtoutuvat (kirjoitettuna) levylle. Tässä on esimerkki huuhteludatasta kirjoitettuna Java FileWriter: lle kutsumalla sen flush() – menetelmää:

fileWriter.flush();

FileWriter

kun olet valmis kirjoittamaan merkkejä Java FileWriter sinun pitäisi muistaa sulkea se. FileWriter sulkeminen tapahtuu kutsumalla sen close() – menetelmää. Tältä näyttää Javan sulkeminen FileWriter :

fileWriter.close();

Voit myös käyttää Java 7: ssä esitettyä try-with-resources-konstruktiota. Näin voit käyttää ja sulkea FileWriter – mallia try-with-resources-konstruktiolla:

try(FileWriter fileWriter = new FileWriter("data\filewriter.txt") ){ fileWriter.write("data 1"); fileWriter.write("data 2"); fileWriter.write("data 3");}

Vastaa

Sähköpostiosoitettasi ei julkaista.