logo

Třída Java.io.File v Javě

Java File class je Java reprezentace názvu souboru nebo adresáře. Protože názvy souborů a adresářů mají na různých platformách různé formáty, nestačí k jejich pojmenování jednoduchý řetězec. Třída Java File obsahuje několik metod pro práci s názvem cesty, mazání a přejmenování souborů, vytváření nových adresářů, výpis obsahu adresáře a určování několika společných atributů souborů a adresářů.

  • Je to abstraktní reprezentace souborů a názvů adresářů.
  • Název cesty, ať už abstraktní nebo ve formě řetězce, může být absolutní nebo relativní. Rodič abstraktního názvu cesty lze získat vyvoláním metody getParent() této třídy.
  • Nejprve bychom měli vytvořit objekt třídy File tak, že mu předáme název souboru nebo adresáře. Souborový systém může implementovat omezení určitých operací na skutečném objektu souborového systému, jako je čtení, zápis a spouštění. Tato omezení jsou souhrnně známá jako přístupová oprávnění.
  • Instance třídy File jsou neměnné; to znamená, že po vytvoření se abstraktní cesta reprezentovaná objektem File nikdy nezmění.

Jak vytvořit souborový objekt?

Objekt File je vytvořen předáním řetězce, který představuje název souboru, String nebo jiného objektu File. Například,



File a = new File('/usr/local/bin/geeks');>

Toto definuje abstraktní název souboru pro soubor geeks v adresáři /usr/local/bin. Toto je absolutní abstraktní název souboru.

Pole v File Class v Javě

Pole

document.queryselector

Typ



Popis

pathSeperator Tětiva znak nebo řetězec používaný k oddělení jednotlivých cest v seznamu cest k systému souborů.
cestaSeperatorChar Char znak používaný k oddělení jednotlivých cest v seznamu cest k systému souborů.
oddělovač Tětiva výchozí znak oddělovače jmen reprezentovaný jako řetězec.
separátorChar Char výchozí znak oddělovače jmen.

Konstruktory třídy Java File Class

    File(File parent, String child): Vytvoří novou instanci souboru z nadřazené abstraktní cesty a podřízeného řetězce cesty. File(String pathname): Vytvoří novou instanci souboru převedením daného řetězce cesty na abstraktní cestu. File(String parent, String child): Vytvoří novou instanci File z nadřazeného řetězce cesty a podřízeného řetězce cesty. File(URI uri): Vytvoří novou instanci souboru převedením daného souboru: URI na abstraktní název cesty.

Metody třídy souborů v Javě

Ano ne. Metoda Popis Typ návratu
1. canExecute() Testuje, zda aplikace může spustit soubor označený tímto abstraktním názvem cesty. booleovský
2. canRead() Testuje, zda aplikace může číst soubor označený tímto abstraktním názvem cesty. booleovský
3. canWrite() Testuje, zda aplikace může upravit soubor označený tímto abstraktním názvem cesty. booleovský
4. porovnatTo (cesta k souboru) Lexikograficky porovná dvě abstraktní názvy cest. int
5. createNewFile() Atomicky vytvoří nový, prázdný soubor pojmenovaný tímto abstraktním názvem cesty. booleovský
6. createTempFile(předpona řetězce, přípona řetězce) Vytvoří prázdný soubor ve výchozím adresáři dočasných souborů. Soubor
7. vymazat() Odstraní soubor nebo adresář označený tímto abstraktním názvem cesty. booleovský
8. rovná se (objekt objektu) Testuje tuto abstraktní cestu na shodu s daným objektem. booleovský
9. existuje() Testuje, zda soubor nebo adresář označený tímto abstraktním názvem cesty existuje. booleovský
10. getAbsolutePath() Vrátí absolutní řetězec názvu této abstraktní cesty. Tětiva
jedenáct. seznam() Vrátí pole řetězců pojmenujících soubory a adresáře v adresáři. Tětiva[]
12. getFreeSpace() Vrátí počet nepřidělených bajtů v oddílu. dlouho
13. getName() Vrátí název souboru nebo adresáře označený tímto abstraktním názvem cesty. Tětiva
14. getParent() Vrátí řetězec názvu cesty rodiče tohoto abstraktního názvu cesty. Tětiva
patnáct. getParentFile() Vrátí abstraktní cestu nadřazené abstraktní cesty. Soubor
16. getPath() Převede tento abstraktní název cesty na řetězec názvu cesty. Tětiva
17. setReadOnly() Označí soubor nebo adresář pojmenované tak, že jsou povoleny pouze operace čtení. booleovský
18. isDirectory() Testuje, zda soubor označený touto cestou je adresář. booleovský
19. isFile() Testuje, zda soubor označený tímto abstraktním názvem cesty je normální soubor. booleovský
dvacet. isHidden() Testuje, zda soubor pojmenovaný tímto abstraktním názvem cesty je skrytý soubor. booleovský
dvacet jedna. délka() Vrátí délku souboru označenou tímto abstraktním názvem cesty. dlouho
22. listFiles() Vrátí pole abstraktních názvů cest označujících soubory v adresáři. Soubor[]
23. mkdir() Vytvoří adresář pojmenovaný tímto abstraktním názvem cesty. booleovský
24. renameTo (cíl souboru) Přejmenuje soubor označený tímto abstraktním názvem cesty. booleovský
25. setExecutable (booleovský spustitelný soubor) Pohodlná metoda pro nastavení oprávnění vlastníka ke spuštění. booleovský
26. setReadable (booleovsky čitelné) Pohodlná metoda pro nastavení oprávnění vlastníka ke čtení. booleovský
27. setReadable (booleovský čitelný, booleovský vlastník Pouze) Nastavuje oprávnění ke čtení vlastníka nebo všech. booleovský
28. setWritable (booleovský zapisovatelný) Pohodlná metoda pro nastavení oprávnění vlastníka k zápisu. booleovský
29. toString() Vrátí řetězec názvu cesty tohoto abstraktního názvu cesty. Tětiva
30. toURI() Vytvoří URI souboru, který představuje tento abstraktní název cesty. TYP

Příklady tříd souborů Java

Příklad 1: Program pro kontrolu, zda soubor nebo adresář fyzicky existuje nebo ne.

Jáva






// In this Java program, we accepts a file or directory name> // from command line arguments. Then the program will check> // if that file or directory physically exist or not and it> // displays the property of that file or directory.> import> java.io.File;> // Displaying file property> class> fileProperty {> >public> static> void> main(String[] args)> >{> >// accept file name or directory name through> >// command line args> >String fname = args[>0>];> >// pass the filename or directory name to File> >// object> >File f =>new> File(fname);> >// apply File class methods on File object> >System.out.println(>'File name :'> + f.getName());> >System.out.println(>'Path: '> + f.getPath());> >System.out.println(>'Absolute path:'> >+ f.getAbsolutePath());> >System.out.println(>'Parent:'> + f.getParent());> >System.out.println(>'Exists :'> + f.exists());> >if> (f.exists()) {> >System.out.println(>'Is writable:'> >+ f.canWrite());> >System.out.println(>'Is readable'> + f.canRead());> >System.out.println(>'Is a directory:'> >+ f.isDirectory());> >System.out.println(>'File Size in bytes '> >+ f.length());> >}> >}> }>

procházení řádu

>

npm vyčistit mezipaměť

>

Výstup

File name :file.txt Path: file.txt Absolute path:C:UsersakkiIdeaProjectscodewritingsrcfile.txt Parent:null Exists :true Is writable:true Is readabletrue Is a directory:false File Size in bytes 20>

Příklad 2: Program pro zobrazení veškerého obsahu adresáře

Zde přijmeme název adresáře z klávesnice a poté zobrazíme veškerý obsah adresáře. Pro tento účel lze metodu list() použít jako:

String arr[]=f.list();>

V předchozím příkazu způsobí metoda list() zkopírování všech položek adresáře do pole arr[] . Poté předejte tyto prvky pole arr[i] objektu File a otestujte je, abyste věděli, zda představují soubor nebo adresář.

Jáva


java generátor náhodných čísel



// Java Program to display all> // the contents of a directory> import> java.io.BufferedReader;> import> java.io.File;> import> java.io.IOException;> import> java.io.InputStreamReader;> // Displaying the contents of a directory> class> Contents {> >public> static> void> main(String[] args)> >throws> IOException> >{> >// enter the path and dirname from keyboard> >BufferedReader br =>new> BufferedReader(> >new> InputStreamReader(System.in));> >System.out.println(>'Enter dirpath:'>);> >String dirpath = br.readLine();> >System.out.println(>'Enter the dirname'>);> >String dname = br.readLine();> >// create File object with dirpath and dname> >File f =>new> File(dirpath, dname);> >// if directory exists,then> >if> (f.exists()) {> >// get the contents into arr[]> >// now arr[i] represent either a File or> >// Directory> >String arr[] = f.list();> >// find no. of entries in the directory> >int> n = arr.length;> >// displaying the entries> >for> (>int> i =>0>; i System.out.println(arr[i]); // create File object with the entry and // test if it is a file or directory File f1 = new File(arr[i]); if (f1.isFile()) System.out.println(': is a file'); if (f1.isDirectory()) System.out.println(': is a directory'); } System.out.println( 'No of entries in this directory ' + n); } else System.out.println('Directory not found'); } }>

>

>

git rebase

Výstup

Enter dirpath: C:UsersakkiIdeaProjects Enter the dirname codewriting .idea : is a directory an1.txt : is a file codewriting.iml : is a file file.txt : is a file out : is a directory src : is a directory text : is a file No of entries in this directory 7>

Související příspěvek: FileReader a FileWriter v Javě