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ě