Třída File je abstraktní reprezentace názvu cesty k souboru a adresáři. Cesta může být absolutní nebo relativní.
procházení řádu
Třída File má několik metod pro práci s adresáři a soubory, jako je vytváření nových adresářů nebo souborů, mazání a přejmenování adresářů nebo souborů, výpis obsahu adresáře atd.
Pole
Modifikátor | Typ | Pole | Popis |
---|---|---|---|
statický | Tětiva | pathSeparator | Je to systémově závislý znak oddělovače cesty, reprezentovaný jako a tětiva pro pohodlí. |
statický | char | cestaSeparatorChar | Je to systémově závislý charakter oddělovače cesty. |
statický | Tětiva | oddělovač | Je to systémově závislý výchozí znak oddělovače jmen, který je pro pohodlí reprezentován jako řetězec. |
statický | char | separátorChar | Je to systémově závislý výchozí znak oddělovače jmen. |
Konstruktéři
Konstruktér | Popis |
---|---|
Soubor (rodič souboru, podřízený řetězec) | Vytvoří novou instanci souboru z nadřazené abstraktní cesty a podřízeného řetězce cesty. |
Soubor (cesta řetězce) | Vytvoří novou instanci souboru převedením daného řetězce cesty na abstraktní název cesty. |
Soubor (rodič řetězce, podřízený řetězec) | Vytvoří novou instanci souboru z nadřazeného řetězce cesty a podřízeného řetězce cesty. |
Soubor (URI) | Vytvoří novou instanci souboru převedením daného souboru: URI na abstraktní název cesty. |
Užitečné metody
Modifikátor a typ | Metoda | Popis |
---|---|---|
statický soubor | createTempFile(předpona řetězce, přípona řetězce) | Vytvoří prázdný soubor ve výchozím adresáři dočasných souborů pomocí dané předpony a přípony k vygenerování jeho názvu. |
booleovský | createNewFile() | Atomicky vytvoří nový, prázdný soubor pojmenovaný tímto abstraktním názvem cesty, pokud a pouze tehdy, když soubor s tímto názvem ještě neexistuje. |
booleovský | canWrite() | Testuje, zda aplikace může upravit soubor označený tímto abstraktním názvem cesty.String[] |
booleovský | canExecute() | Testuje, zda aplikace může spustit soubor označený tímto abstraktním názvem cesty. |
booleovský | canRead() | Testuje, zda aplikace může číst soubor označený tímto abstraktním názvem cesty. |
booleovský | isAbsolute() | Testuje, zda je tato abstraktní cesta absolutní. |
booleovský | isDirectory() | Testuje, zda soubor označený tímto abstraktním názvem cesty je adresář. |
booleovský | isFile() | Testuje, zda soubor označený tímto abstraktním názvem cesty je normální soubor. |
Tětiva | getName() | Vrací název souboru nebo adresáře označený tímto abstraktním názvem cesty. |
Tětiva | getParent() | Vrací řetězec názvu cesty nadřazeného abstraktního názvu cesty nebo hodnotu null, pokud tato cesta nejmenuje nadřazený adresář. |
Cesta | toPath() | Vrací objekt java.nio.file.Path vytvořený z této abstraktní cesty. |
TYP | toURI() | Vytvoří soubor: URI, který představuje tento abstraktní název cesty. |
Soubor[] | listFiles() | Vrací to an pole abstraktních názvů cest označujících soubory v adresáři označeném tímto abstraktním názvem |
dlouho | getFreeSpace() | Vrací počet nepřidělených bajtů v oddílu pojmenovaném tímto abstraktním názvem cesty. |
Tětiva[] | seznam (filtr FilenameFilter) | Vrací pole řetězců pojmenujících soubory a adresáře v adresáři označeném tímto abstraktním názvem cesty, které splňují zadaný filtr. |
booleovský | mkdir() | Vytvoří adresář pojmenovaný tímto abstraktním názvem cesty. |
Příklad souboru Java 1
import java.io.*; public class FileDemo { public static void main(String[] args) { try { File file = new File('javaFile123.txt'); if (file.createNewFile()) { System.out.println('New File is created!'); } else { System.out.println('File already exists.'); } } catch (IOException e) { e.printStackTrace(); } } }
Výstup:
New File is created!
Příklad souboru Java 2
import java.io.*; public class FileDemo2 { public static void main(String[] args) { String path = ''; boolean bool = false; try { // createing new files File file = new File('testFile1.txt'); file.createNewFile(); System.out.println(file); // createing new canonical from file object File file2 = file.getCanonicalFile(); // returns true if the file exists System.out.println(file2); bool = file2.exists(); // returns absolute pathname path = file2.getAbsolutePath(); System.out.println(bool); // if file exists if (bool) { // prints System.out.print(path + ' Exists? ' + bool); } } catch (Exception e) { // if any error occurs e.printStackTrace(); } } }
Výstup:
testFile1.txt /home/Work/Project/File/testFile1.txt true /home/Work/Project/File/testFile1.txt Exists? true
Příklad souboru Java 3
import java.io.*; public class FileExample { public static void main(String[] args) { File f=new File('/Users/sonoojaiswal/Documents'); String filenames[]=f.list(); for(String filename:filenames){ System.out.println(filename); } } }
Výstup:
'info.properties' 'info.properties'.rtf .DS_Store .localized Alok news apache-tomcat-9.0.0.M19 apache-tomcat-9.0.0.M19.tar bestreturn_org.rtf BIODATA.pages BIODATA.pdf BIODATA.webp struts2jars.zip workspace
Příklad souboru Java 4
import java.io.*; public class FileExample { public static void main(String[] args) { File dir=new File('/Users/sonoojaiswal/Documents'); File files[]=dir.listFiles(); for(File file:files){ System.out.println(file.getName()+' Can Write: '+file.canWrite()+' Is Hidden: '+file.isHidden()+' Length: '+file.length()+' bytes'); } } }
Výstup:
'info.properties' Can Write: true Is Hidden: false Length: 15 bytes 'info.properties'.rtf Can Write: true Is Hidden: false Length: 385 bytes .DS_Store Can Write: true Is Hidden: true Length: 36868 bytes .localized Can Write: true Is Hidden: true Length: 0 bytes Alok news Can Write: true Is Hidden: false Length: 850 bytes apache-tomcat-9.0.0.M19 Can Write: true Is Hidden: false Length: 476 bytes apache-tomcat-9.0.0.M19.tar Can Write: true Is Hidden: false Length: 13711360 bytes bestreturn_org.rtf Can Write: true Is Hidden: false Length: 389 bytes BIODATA.pages Can Write: true Is Hidden: false Length: 707985 bytes BIODATA.pdf Can Write: true Is Hidden: false Length: 69681 bytes BIODATA.webp Can Write: true Is Hidden: false Length: 282125 bytes workspace Can Write: true Is Hidden: false Length: 1972 bytes