logo

Datotečne operacije u Javi

U Javi, a Datoteka je apstraktni tip podataka. Imenovano mjesto koje se koristi za pohranjivanje povezanih informacija poznato je kao a Datoteka . Ima ih nekoliko Datotečne operacije Kao stvaranje nove datoteke, dobivanje informacija o datoteci, pisanje u datoteku, čitanje iz datoteke i brisanje datoteke .

Prije razumijevanja operacija s datotekama, potrebno je poznavati ih Stream i Metode datoteka . Ako znate o objema, možete to preskočiti.

Stream

Niz podataka se naziva potok . U Java , Stream dijeli se na dvije vrste, tj. Tok bajtova i Tok znakova .

Datotečne operacije u Javi

Tok bajtova

Tok bajtova uglavnom se bavi bajt podacima. Proces rukovanja datotekom s protokom bajtova je proces u kojem se daje unos i izvršava s podacima bajta.

Tok znakova

Tok znakova uglavnom se bavi znakovnim podacima. Proces rukovanja datotekom s protokom znakova je proces u kojem se unos daje i izvršava sa znakovnim podacima.

uzorci dizajna u Javi

Da biste saznali više o streamu, kliknite ovdje .

Metode klase Java datoteke

Da ne. metoda Vrsta povrata Opis
1. canRead() Booleov The canRead() metoda se koristi za provjeru možemo li pročitati podatke datoteke ili ne.
2. stvoritiNovuDatoteku() Booleov The stvoritiNovuDatoteku() metoda se koristi za stvaranje nove prazne datoteke.
3. canWrite() Booleov The canWrite() metoda se koristi za provjeru možemo li upisati podatke u datoteku ili ne.
4. postoji() Booleov The postoji() metoda se koristi za provjeru je li navedena datoteka prisutna ili ne.
5. izbrisati() Booleov The izbrisati() metoda se koristi za brisanje datoteke.
6. getName() Niz The getName() metoda se koristi za traženje naziva datoteke.
7. getAbsolutePath() Niz The getAbsolutePath() metoda se koristi za dobivanje apsolutnog naziva putanje datoteke.
8. duljina () dugo The duljina () metoda se koristi za dobivanje veličine datoteke u bajtovima.
9. popis() Niz[] The popis() metoda se koristi za dobivanje niza datoteka dostupnih u direktoriju.
10. mkdir() Booleov The mkdir() metoda se koristi za stvaranje novog imenika.

Datotečne operacije

Na datoteci možemo izvesti sljedeće operacije:

  • Stvorite datoteku
  • Dobijte informacije o datoteci
  • Pisanje u datoteku
  • Čitaj iz datoteke
  • Brisanje datoteke
Datotečne operacije u Javi

Stvorite datoteku

Stvorite datoteku izvodi se operacija za stvaranje nove datoteke. Koristimo se stvoritiNovuDatoteku() metoda datoteke. The stvoritiNovuDatoteku() metoda vraća true kada uspješno kreira novu datoteku i vraća false kada datoteka već postoji.

Uzmimo primjer stvaranja datoteke da bismo razumjeli kako možemo koristiti stvoritiNovuDatoteku() način za izvođenje ove operacije.

CreateFile.java

 // Importing File class import java.io.File; // Importing the IOException class for handling errors import java.io.IOException; class CreateFile { public static void main(String args[]) { try { // Creating an object of a file File f0 = new File('D:FileOperationExample.txt'); if (f0.createNewFile()) { System.out.println('File ' + f0.getName() + ' is created successfully.'); } else { System.out.println('File is already exist in the directory.'); } } catch (IOException exception) { System.out.println('An unexpected error is occurred.'); exception.printStackTrace(); } } } 

Izlaz:

ispis izjave u Javi
Datotečne operacije u Javi
Datotečne operacije u Javi

Obrazloženje:

U gornjem kodu uvozimo klasu Datoteka i IOException za izvođenje operacija datoteke i rukovanje pogreškama. Mi stvaramo f0 objekt klase File i odredimo mjesto direktorija u kojem želimo kreirati datoteku. U bloku pokušaja pozivamo stvoritiNovuDatoteku() metoda kroz f0 objekt za stvaranje nove datoteke na navedenom mjestu. Ako metoda vrati false, skočit će na else odjeljak. Ako postoji bilo kakva pogreška, ona se obrađuje u bloku catch.

Dobijte informacije o datoteci

Operacija se izvodi za dobivanje informacija o datoteci. Koristimo nekoliko metoda za dobivanje informacija o datoteci kao što su naziv, apsolutni put, je li čitljiva, može li se pisati i duljina.

Uzmimo primjer da bismo razumjeli kako koristiti metode datoteke za dobivanje informacija o datoteci.

FileInfo.java

 // Import the File class import java.io.File; class FileInfo { public static void main(String[] args) { // Creating file object File f0 = new File('D:FileOperationExample.txt'); if (f0.exists()) { // Getting file name System.out.println('The name of the file is: ' + f0.getName()); // Getting path of the file System.out.println('The absolute path of the file is: ' + f0.getAbsolutePath()); // Checking whether the file is writable or not System.out.println('Is file writeable?: ' + f0.canWrite()); // Checking whether the file is readable or not System.out.println('Is file readable ' + f0.canRead()); // Getting the length of the file in bytes System.out.println('The size of the file in bytes is: ' + f0.length()); } else { System.out.println('The file does not exist.'); } } } 

Izlaz:

Datotečne operacije u Javi

Opis:

U gornjem kodu uvozimo java.io.Datoteka pakirati i stvoriti klasu FileInfo . U glavnoj metodi stvaramo objekt tekstualne datoteke koju smo stvorili u našem prethodnom primjeru. Postojanje datoteke provjeravamo pomoću uvjetne naredbe i ako postoji, dobivamo sljedeće informacije o toj datoteci:

  1. Dobivamo naziv datoteke pomoću getName()
  2. Dobivamo apsolutni put datoteke pomoću getAbsolutePath() metoda datoteke.
  3. Provjeravamo možemo li zapisati podatke u datoteku ili ne koristeći canWrite()
  4. Provjeravamo možemo li pročitati podatke datoteke ili ne pomoću canRead()
  5. Duljinu datoteke dobivamo korištenjem duljina ()

Ako datoteka ne postoji, prikazujemo prilagođenu poruku.

Pisanje u datoteku

Sljedeća operacija koju možemo izvesti na datoteci je 'upisivanje u datoteku' . Kako bismo upisali podatke u datoteku, koristit ćemo FileWriter klasa i njezina pisati() metoda zajedno. Moramo zatvoriti tok pomoću Zatvoriti() metoda za dohvaćanje dodijeljenih resursa.

Uzmimo primjer da bismo razumjeli kako možemo zapisati podatke u datoteku.

WriteToFile.java

 // Importing the FileWriter class import java.io.FileWriter; // Importing the IOException class for handling errors import java.io.IOException; class WriteToFile { public static void main(String[] args) { try { FileWriter fwrite = new FileWriter('D:FileOperationExample.txt'); // writing the content into the FileOperationExample.txt file fwrite.write('A named location used to store related information is referred to as a File.'); // Closing the stream fwrite.close(); System.out.println('Content is successfully wrote to the file.'); } catch (IOException e) { System.out.println('Unexpected error occurred'); e.printStackTrace(); } } } 

Izlaz:

preimenuj mapu linux
Datotečne operacije u Javi
Datotečne operacije u Javi

Obrazloženje:

U gornjem kodu uvozimo java.io.FileWriter i java.io.IOException klase. Kreiramo klasu WriteToFile, au njenoj glavnoj metodi koristimo pokušaj uhvatiti blok. U odjeljku pokušaja stvaramo instancu klase FileWriter, tj. fpisati . Pozivamo pisati metodu klase FileWriter i proslijediti sadržaj toj funkciji koju želimo napisati. Nakon toga pozivamo Zatvoriti() metoda klase FileWriter za zatvaranje toka datoteke. Nakon što napišemo sadržaj i zatvorimo stream, ispisujemo prilagođenu poruku.

Ako dobijemo bilo kakvu pogrešku u odjeljku pokušaja, skače se na blok catch. U bloku catch, mi rukujemo s IOException i ispisati prilagođenu poruku.

Čitaj iz datoteke

Sljedeća operacija koju možemo izvesti na datoteci je 'čitaj iz datoteke' . Kako bismo upisali podatke u datoteku, koristit ćemo Skener razreda. Ovdje moramo zatvoriti tok pomoću Zatvoriti() metoda. Stvorit ćemo instancu Klasa skenera i koristite hasNextLine() metoda sljedeći redak() metoda da biste dobili podatke iz datoteke.

java niz bajtova u niz

Uzmimo primjer da bismo razumjeli kako možemo čitati podatke iz datoteke.

ReadFromFile.java

 // Importing the File class import java.io.File; // Importing FileNotFoundException class for handling errors import java.io.FileNotFoundException; // Importing the Scanner class for reading text files import java.util.Scanner; class ReadFromFile { public static void main(String[] args) { try { // Create f1 object of the file to read data File f1 = new File('D:FileOperationExample.txt'); Scanner dataReader = new Scanner(f1); while (dataReader.hasNextLine()) { String fileData = dataReader.nextLine(); System.out.println(fileData); } dataReader.close(); } catch (FileNotFoundException exception) { System.out.println('Unexcpected error occurred!'); exception.printStackTrace(); } } } 

Izlaz:

Datotečne operacije u Javi

ekspanzija:

U gornjem kodu uvozimo 'java.util.Scannner', 'java.io.File' i 'java.io.IOException' klase. Mi stvaramo klasu ReadFromFile , au njegovoj glavnoj metodi koristimo pokušaj-uhvati blok . U odjeljku try stvaramo instancu oba Skener i Datoteka klase. Prolazimo Datoteka objekt klase prema Skener objekt klase i zatim iterirajte objekt klase skenera koristeći 'Dok' ponovite petlju i ispišite svaki redak datoteke. Također moramo zatvoriti objekt klase skenera, pa koristimo funkciju close(). Ako dobijemo bilo kakvu pogrešku u odjeljku pokušaja, skače se na blok catch. U catch bloku obrađujemo IOException i ispisujemo prilagođenu poruku.

Brisanje datoteke

Sljedeća operacija koju možemo izvesti na datoteci je 'brisanje datoteke' . Kako bismo izbrisali datoteku, koristit ćemo izbrisati() metoda datoteke. Ne moramo zatvoriti tok pomoću Zatvoriti() jer za brisanje datoteke ne koristimo klasu FileWriter niti klasu Scanner.

Uzmimo primjer da bismo razumjeli kako možemo zapisati podatke u datoteku.

DeleteFile.java

 // Importing the File class import java.io.File; class DeleteFile { public static void main(String[] args) { File f0 = new File('D:FileOperationExample.txt'); if (f0.delete()) { System.out.println(f0.getName()+ ' file is deleted successfully.'); } else { System.out.println('Unexpected error found in deletion of the file.'); } } } 

Izlaz:

preopterećenje metode
Datotečne operacije u Javi

Obrazloženje:

U gornjem kodu uvozimo Datoteka klasu i kreirajte klasu Izbrisati dateoteku . U main() metodi klase stvaramo f0 objekt datoteke koju želimo obrisati. u ako izjava, nazivamo izbrisati() metoda datoteke pomoću objekta f0. Ako metoda delete() vrati true, ispisujemo prilagođenu poruku o uspjehu. U suprotnom, skače se na else odjeljak gdje ispisujemo neuspješnu prilagođenu poruku.

Sve gore navedene operacije koriste se za programsko čitanje, pisanje, brisanje i stvaranje datoteke.