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.
sadržaj
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:
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:
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:
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:
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:
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.
- Kako instalirati Java na Windows 7
- Kako ažurirati Java na Linux i Windows operativnim sustavima?
- Prvi Java program je Hello World
- Kako i što otvoriti datoteku * .pak? Opis formata * .pak datoteka
- Upute: kako instalirati na upravitelju datoteka`Android`
- Otvoriti GPX: uputu
- Prostor za proširenje - što je to?
- JAR format: što treba otvoriti na računalu ili na telefonu
- Svojstva datoteka: osnovne informacije i upravljanje objektima
- Java: InputStream. Ulazni tokovi
- BigInteger Java: radi s velikim brojem
- Datoteke: povijest pojavljivanja pojma i pregled nekoliko upravitelja datoteka
- Elementi Java modela objekta: sažetak klase, sučelje
- Radite s datotekama. Kako promijeniti datotečni nastavak
- Što je XML format nego otvoriti i kako raditi s njom.
- Bootsqm.dat - kakva je datoteka i može li se izbrisati
- Načini stvaranja datoteke šišmiša
- Atributi datoteke
- Rad s objektima datoteka: otvaranje, čitanje i pisanje datotekama u Pythonu
- Kako pisati u datoteku u Javi
- File sustav fat32 - sustav sa zanimljivom poviješću