Kako snimiti u Java datoteku

Pri pisanju programa na Javi prije ili kasnije bit će potrebno pročitati i upisati podatke u datoteku. Za to jezik nudi sljedeće alate za ulazne i izlazne podatke: Writer klasa za pisanje i Reader za čitanje. Nasljednici tih klasa su klase FileWriter i FileReader, pogodne za rad izravno s datotekama.

Jednostavan primjer pisanja u datoteku u Javi

Prije stvaranja ulazne točke u programu, morate propisati uvoz (potrebne klase su u java.io * knjižnicama, mi ćemo napisati zvjezdicu, budući da će u budućnosti biti potrebne dodatne klase knjižnice). Uvoz u urednik bi trebao izgledati ovako:


import java.io. *;

Tada u arbitrarnoj klasi napišemo glavnu metodu, koja zauzvrat kreiramo instancu klase FileWriter i zapišemo je piscu za pisanje:

FileWriter writer = nova datoteka ("text.txt") )

Kada pokrenete ovaj program, datoteka text.txt bit će kreirana u korijenu projekta. Da biste nešto napisali u ovu datoteku, trebate se pozvati na metodu write () Writer klase, metoda write () uzima string kao argument, tamo piše nešto:

writer.write ("primjer pisanja u datoteku na Javi");

Kada se radi o uvođenju ekstrakcije podataka, potrebno je uzeti u obzir i iznimne situacije jer ne znamo uvijek što će biti u tim podacima. Kompajler neće preskočiti ovaj kôd bez posebnog dizajna. Iznimka koju želite umetnuti u potpis glavne metode. Također morate paziti da izađete iz niti, nakon pisanja () metode, trebate zatvoriti protok pomoću metode close (). kakotrebao bi izgledati kao kod u ovoj fazi, prikazan na slici ispod.

& lt; skripta async = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
& lt ;! - fb_336x280_2 - & gt;

& lt; script & gt; (adsbygoogle = window.adsbygoogle || []). push ({});

Kada pokrenete program u korijenu projekta, pojavit će se text.txt datoteka u kojoj će biti napisan "primjer pisanja u datoteku u Javi". Međutim, ovaj primjer je samo u informativne svrhe, tako da se može primijeniti u "borbenim" uvjetima, potrebno je provesti mali refaktor.

Refactoring

Prva stvar koju treba učiniti je staviti kod koji je odgovoran za unos podataka u try-catch dizajn (lakše je upravljati iznimkama i primijeniti njihove iznimke). Zatim morate stvoriti zasebnu varijablu s Tipom datoteke gdje možete upisati adresu i naziv datoteke (to je zgodno, jer često trebate raditi s više datoteka, oni su smješteni u odvojenim varijablama i obrađeni ciklusom, a tek tada se rezultirajuća varijabla ubacuje kao parametar u FileWriter ).

Također je dobra praksa koristiti međuspremnike pri radu s I /O strujama (klase FileWriter kojima se pristupa na pogonu, ako puno njih može zahtijevati puno memorije, pa je mudro manipulirati podacima pomoću međuspremnika), za to se koristi klasa BufferedWriter. , a FileWriter se u zagradi upisuje kao parametar. Metoda flush () se poziva kako bi se oslobodio me uspremnik, može se postaviti prije close () metode, sada će kod izgledati kao niže.

Kako napisati Java datoteku u slijedu

Svaki put kada kompajliranje ovog koda u konzoli prepiše jednui isti unos. Kako napraviti nove informacije kako bi se program pokrenuo u datoteci po redu? Da biste to učinili, najprije morate napisati ključnu riječ true drugi parametar pri stvaranju FileWriter-a:


& lt; script type = "text /javascript" & gt;
može blockSettings2 = {blockId: "R-A-70350-2", renderTo: "yandex_rtb_R-A-70350-2", async:! 0};

if (document.cookie.indexOf ("abmatch =") & gt; = 0) {
blockSettings2 = {blockId: "RA-70350-2", renderTo: "yandex_rtb_R-A-70350- 2 ", statId: 70350async: 0};
}

Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya .Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex.ru/system/context.js", d.async =! 0e.parentNode.insertBefore (d, e)} (ovaj, ovaj.dokument, "yandexContextAsyncCallbacks");

BufferedWriter writer = novi BufferedWriter (novi FileWriter (myFile, true));

Svaki put, prilikom kompajliranja, program će zapisati u datoteku niz koji je u write () metodi, bez premještanja u sljedeći redak. U našem slučaju pokazalo se da:

Primjer pisanja primjera pisanja Java-a na Java Java primjer.

Jednostavan način za pomicanje niza je dodavanje operator /n string argumentu metode write (), ali ova metoda neće raditi u različitim operacijskim sustavima. Da biste datoteku zapisivali sekvencijalno na različite platforme, trebate koristiti metodu sustava line.separator. Sljedeći primjer pokazuje kako napisati ovu metodu u varijablu lineSeparator, koja se tada može koristiti u string argumentu write () metode:

String lineSeparator = System.getProperty ("line.separator");​​Konačno, kod će izgledati kao niže.
Rezultat ovog izvršenja koda je sljedeći: u text.txt datoteci, kada se program pokrene tri puta, crte "primjer pisanja uJava ".

Povezane publikacije