KomputilojProgramado

Java: Laborante kun dosieroj - skribo, legado, forigon

Java havas multajn ilojn por labori kun dosieroj, ĉar ili servas kiel deponejo de datumoj en multaj programoj. Tre ofte aliron al dosiero estas postulata en la Java Android. Ĉiuj klasoj por labori kun dosieroj lokita en la java.io pakaĵo, kiu estas ankaŭ stokita klasojn por labori kun enigo kaj eligo riveretoj. Strikte parolante, Java laboro kun dosieroj okazas ĉefe per la bajto kaj karaktero enigo kaj eligo riveretoj. La escepto en tiu kazo estas la klaso Dosiero. El ĝi kaj komenci.

Klaso Dosiero Java - Laborante kun dosieroj

Dosiero klaso interagas rekte kun dosieroj kaj dosiersistemo. Petskribo de ĉi tiu klaso estas uzata ĉefe por aliri la ecoj de la dosiero kaj navigi la hierarkio de dosierujoj. Ĝi ne estas determinita de metodoj de ĉerpi kaj stoki datumoj en dosiero, sed kun ĉi tiu klaso, vi povas akiri multajn informojn pri la dosiero dato, tempo, aliro permesojn kaj dosierujo vojon. Fakte, la Dosiero klaso objekto estas la interpreto de dosiero aŭ dosierujo en Java.

Krei petskribon de la Arkivo, uzante unu el liaj constructores: Dosiero (String pado al la dosierujo, String dosiernomo).

Konsideru la bazaj teknikoj de ĉi tiu klaso, permesante akiri informojn pri dosiero aŭ dosierujo:

  • getName () - redonas la nomon de la dosiero;
  • ekzistas () - redonas bulea vera, se la dosiero ekzistas, aŭ falsa en la kontraŭa kazo;
  • isFile () - difinas ĉu la objekto rilatas al dosiero, redonante la responda logika valoro;
  • isDirectory () - Revenas vera se ĝi estas dosierujo;
  • canWrite () - Revenas vera, se la dosiero estas skribebla;
  • canRead () - Revenas vera, se la dosiero estas legebla;
  • setReadOnly () - faras la dosieron nur legado;
  • longo () - redonas la dosiero grandeco en bajtoj;
  • renameTo (Dosiero novan nomon) - renomas la dosiertipo laŭ la argumentoj. Revenas vera se la operacio estas sukcesa;
  • forigi () - forigas dosieron aŭ dosierujon (se ĝi estas malplena), kiu indikas la telefonanto;
  • listo () - rekuperas listo de objekto nomoj stokita en la dosierujo, kiel vico array (aplikebla nur al dosierujojn).

Tiel, per uzado de la Dosiero klaso estas provizita en Java laboro kun dosieroj kaj dosierujoj.

Laborante kun dosieroj de klasoj FileInputStream kaj FileOutputStream

Pli frue ni menciis, ke efektivigis ĉefe per enigo kaj eligo riveretoj en Java laboro kun dosierojn. Bajto riveretoj por la dosieroj prezentitaj en la formo de klasoj FileInputStream kaj FileOutputStream. Ĉi tiuj klasoj estas la heredantoj de la bazo abstraktaj klasoj InputStream kaj OutputStream respektive, tiel la metodoj de ĉi tiuj klasoj estas disponeblaj por labori kun dosierojn.

Konsideru unue la FileInputStream. La kits de ĉi tiu klaso estas prezentitaj malsupre:

La unua konstruilo prenas kiel argumento de la dosiero padon kiel linio, kaj la duan - en la formo de objekto reprezento. Kvankam la unua konstruilo estas uzata pli ofte en la dua kazo eblas studi la ecojn de la dosiero disponebla en la Dosiero klaso metodoj. Kiam vi kreas petskribo de la klaso FileInputStream malfermas enigaĵoj rivereto por legi la dosieron.

Klaso FileOutputStream constructores estas montritaj malsupre:

La situacio estas simila al FileInputStream, sed ĝi povas ankaŭ preni logika valoro "append", kiu, kiam vera indikas ke la datumoj estas skribita al la celo dosiero estos aldonita al la ekzistanta, kaj se falsa - iros plena anstataŭigi la dosieron, kio estas, la malnovaj datumoj ne konserviĝos.

Ni rigardu ekzemplon uzanta ĉi tiujn klasojn:

La fluo de eniro FileInputStream file1.txt legas datumojn de la dosiero bajto de bajto de la metodo de legado (). Ĉiu bajto legita estas stokita en variablo en entjera formon. Plue, en la korpo de la dum buklo , tiu variablo estas pasita kiel argumento por skribi petskribon metodo de FileOutputStream, kiu skribas la ricevita bitoko en file2.txt dosiero. Fine de la du riveretoj devigan fermita de la metodo proksime.

Klasoj FileReader kaj FileWriter

Se vi scias, ke kiam laborante kun dosieroj, vi devos pritrakti la teksto, ĝi havas sencon uzi karaktero anstataŭ bajto riveretoj. Ĉi tiuj fluoj estas prezentitaj klasoj FileReader kaj FileWriter en Java. Laborante kun dosieroj uzante tiujn klasojn okazas proksimume la sama kiel en la antaŭa kazo. Ĉi tiuj klasoj devenas Reader kaj verkisto respektive, kiuj difinas la bazajn metodojn por datumoj enigo kaj eligo.

Diseñadores klasoj FileReader kaj FileWriter estas prezentitaj malsupre:

Konsentas, diferencoj en semantiko kompare al bajto riveretoj praktike neniun. La malsupra linio estas ke tiuj klasoj estas specife desegnita por labori kun karakteroj en Unikodo, povas fari bajto riveretoj. Tio estas la maniero Java estas organizita en laboro kun dosierojn. Ekzemplo de la datumoj klasoj ricevas malsupre:

Kiel vi povas vidi, la diferencoj ne estas observita. Estas notinde, ke kvankam la fluo karaktero, la legi metodo revenas, kaj la registran metodo prenas entjero valoro. Kvankam la registran metodo subskribo implikas ricevanta int tipo argumento estas registrita en la rivereto, nur la pli malalta 16 bitoj, simboloj kiel reprezentitaj en Java estas tiel la kvanto de bitoj.

konkludo

Do, ni diskutis la bazajn klasojn por labori kun dosieroj en Java. Estas notinde, ke se vi iras por disvolvi programaron por Java Android, vi povas sekure uzi tiun ilon.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 eo.birmiss.com. Theme powered by WordPress.