Java: rad s datotekama - pisanje, čitanje i brisanje

Java ima mnogo alata za rad s datotekama, jer oni služe kao spremište podataka u mnogim programima. Naročito je često potreban pristup datotekama u Java Androidu. Sve klase za rad s datotekama nalaze se u paketu java.io, koji također pohranjuje nastavu za rad s ulaznim i izlaznim tokovima. Strogo govoreći, u Javi, rad s datotekama se uglavnom događa putem bajtova i karakternih tokova ulaznog izlaza. Izuzetak u ovom slučaju je klasa datoteke. Počet ćemo s njom.

Datoteka Java klasa - rad s datotekama

Razmjena datoteka izravno se komunicira s datotekama i datotečnim sustavom. Primjer ove klase koristi se prvenstveno za pristup svojstva datoteka i premještanje hijerarhija poddirektorija. To ne određuje metode ekstrakcije i pohranjivanja podataka u datoteku, ali s ove klase, možete dobiti puno informacija o datumu datoteke, vrijeme dopuštenja pristupa i katalog putu. Zapravo, klasa datoteka je interpretacija objekta datoteke ili direktorija u Javi.

Da biste stvorili primjerak klase datoteka, upotrijebite jedan od njegovih konstruktora: Datoteka (String put do mape, naziv Stringa).

Razmotrimo glavne metode ove klase, koje omogućuju dobivanje informacija o datoteci ili direktoriju:

  • getName () - vraća naziv datoteke;
  • exists () - vraća Booleov vrijednost istinito ako datoteka postoji ili nije drugačije;
  • isFile () - određuje hoće li objekt ukazati na datoteku, vraćajući odgovarajuću booleovsku vrijednost;
  • isDirectory () - vraća točno ako je ovo mapa;
  • canWrite () - vraća true ako je datoteka moguće pisati;
  • canRead () - vraća true ako je datoteka čitljiva;
  • setReadOnly () - čini datoteku samo za čitanje;
  • length () - vraća veličinu datoteke u bajtovima;
  • renameTo (File new name) - preimenuje trenutnu datoteku prema prošlom argumentu. Vraća se istinito ako je operacija uspješna;
  • delete () - briše datoteku ili mapu (ako je prazno) koju upućuje poziv objekt;
  • popis () - dohvaća popis imena objekata pohranjenih u ovom direktoriju kao niz nizova (odnosi se samo na direktorije).

Dakle, korištenjem klase datoteka, Java radi s datotekama i mapama.

Rad s datotekama pomoću datoteka FileInputStream i FileOutputStream

Ranije smo spomenuli da se u Java-u rad s datotekama provodi uglavnom putem I / O tokova. Bajtne tokove za rad s datotekama prikazane su kao datoteke FileInputStream i FileOutputStream. Ove su klase nasljednici osnovnih apstraktne klase InputStream i OutputStream, tako da su metode ovih razreda dostupne za rad s datotekama.

Najprije razmotrite FileInputStream. Konstruktori ove klase su prikazani na slici u nastavku:

java rad s datotekama

Prvi konstruktor uzima kao svoj argument put do ciljne datoteke kao niz, a drugi konstruktor kao prikaz objekta. Iako se prvi konstrukt koristi češće, u drugom slučaju moguće je proučiti svojstva datoteka dostupnih u metodama klase datoteka. Kada se stvori primjer klase, FileInputStream otvara ulazni tok za čitanje datoteke.

U nastavku su prikazani konstruktori razreda FileOutputStream:

java android



Situacija je slična FileInputStream, ali može potrajati logička vrijednost „dodati”, koji, kada se istina pokazuje da se podaci zapisuju u ciljne datoteke će biti dodan na postojeći, a ako lažne - će ići puna prebrisati datoteku, odnosno stari podaci neće biti spremljene.

Pogledajmo primjer pomoću ovih klasa:

java radi s datotekama primjer

Ulazni stream FileInputStream čita podatke iz datoteke1.txt po bajtu koristeći metodu read (). Svaki čitač bajt pohranjen je u varijabli u cjelobrojnom obliku. Dalje u tijelu dok petlja ova se varijabla prosljeđuje kao argument za metodu pisanja instance FileOutputStream koja zapisuje primljeni bajt to file2.txt. Na kraju, obje niti su zatvorene bliskom metodom.

Razredi FileReader i FileWriter

Ako znate da kada se bave datotekama bavit će se tekstom, a umjesto bajtova potoci, ima smisla koristiti simboličke. Te struje zastupljene su u programu FileReader i FileWriter u Java. Rad s datotekama koji upotrebljavaju ove klase je otprilike isti kao u prethodnom slučaju. Oni su potomci časopisa Reader i Writer, koji definiraju osnovne metode za unos i izlaz podataka.

Konstruktori za datoteke FileReader i FileWriter prikazani su na donjoj slici:

java rad s datotekama i mapama

Slažem se, praktički nema razlike u semantici u usporedbi s streamovima bajta. Dno crta je da su te klase dizajnirane posebno za rad s Unicode znakovima, koje bajtne točke ne mogu učiniti. Ovako Java radi s datotekama. Primjer upotrebe ovih klasa prikazan je u nastavku:

java rad s datotekama

Kao što vidite, nema razlika. Važno je napomenuti da, iako su niti simboličke, vraća se metoda čitanja, a način pisanja uzima cijelu vrijednost. Iako je metoda zapisa potpis uključuje primanje tipa int argument je upisana u potok, samo niže 16 bita, simboli kao što je prikazano u Javi je tako broj bitova.

zaključak

Dakle, rastavili smo glavne klase za rad s datotekama u Javi. Važno je napomenuti da, ako ćete razviti softver za Java Android, možete sigurno koristiti ovaj alat.

Dijelite na društvenim mrežama:

Povezan
Kako ažurirati Java na Linux i Windows operativnim sustavima?Kako ažurirati Java na Linux i Windows operativnim sustavima?
Prvi Java program je Hello WorldPrvi Java program je Hello World
Kako i što otvoriti datoteku * .pak? Opis formata * .pak datotekaKako i što otvoriti datoteku * .pak? Opis formata * .pak datoteka
Upute: kako instalirati na upravitelju datoteka`Android`Upute: kako instalirati na upravitelju datoteka`Android`
Otvoriti GPX: uputuOtvoriti GPX: uputu
Prostor za proširenje - što je to?Prostor za proširenje - što je to?
JAR format: što treba otvoriti na računalu ili na telefonuJAR format: što treba otvoriti na računalu ili na telefonu
Svojstva datoteka: osnovne informacije i upravljanje objektimaSvojstva datoteka: osnovne informacije i upravljanje objektima
Java: InputStream. Ulazni tokoviJava: InputStream. Ulazni tokovi
BigInteger Java: radi s velikim brojemBigInteger Java: radi s velikim brojem
» » Java: rad s datotekama - pisanje, čitanje i brisanje
LiveInternet