java.io
, java.nio.file
.
java.io.File
File
je de facto nositelem jména souboru, jakási "brána" k fyzickým souborům na disku.
Na odstínění odlišností jednotlivých systémů souborů lze použít vlastností
(uvádíme jejich hodnoty pro JVM pod systémem MS Windows):
File.separatorChar:: \\
jako char
File.separator:: totéž jako String
File.pathSeparatorChar:: :
jako char
File.pathSeparator:: totéž jako String
System.getProperty("user.dir"):: adresář uživatele, pod jehož UID je proces JVM spuštěn
File
File
konstruktorem
(NEJEDNÁ SE PŘÍMÉ VYTVOŘENÍ SOUBORU NA DISKU!) máme několik možností:
zpřístupní v aktuálním adresáři soubor s názvem filename
zpřístupní v adresáři baseDir soubor s názvem filename
zpřístupní v adresáři se jménem baseDirName soubor s názvem filename
zpřístupní soubor se souborovým (file:
) URL url
File
vrátí true
,
právě když zpřístupněný soubor (nebo adresář) existuje
test, zda jde o soubor a nikoli adresář
test, zda jde o adresář
File
(2)==mám právo čtení souboru?
mám právo zápisu souboru?
zkusí vytvořit soubor soubor a vrací true
,
právě když se podaří vytvořit.
obdobně pro adresář
navíc si umí dotvořit i příp. neexistující adresáře na cestě
Vytvoření
dočasného (temporary) souboru — skutečně fyzicky vytvoří dočasný soubor
ve standardním, pro to určeném, adresáři (např. c:/temp
)
s uvedeným prefixem a sufixem názvu
static File createTempFile(String prefix, String suffix, File directory)
directory
zrušení souboru nebo adresáře
přejmenuje soubor nebo adresář (neumí přesun souboru/adresáře)
délka (velikost) souboru v bajtech
čas poslední modifikace v ms od začátku éry — tj.
ve stejných jednotkách a škále jako systémový čas vracený System.currentTimeMillis()
.
jen jméno souboru (tj. poslední část cesty)
celá cesta k souboru i se jménem
absolutní cesta k souboru i se jménem
adresář, v němž je soubor nebo adresář obsažen
File
, použitelná i pro adresáře
File[] listFiles(FileFilter ff)
nebo podobné File[] listFiles(FilenameFilter fnf)
.
FileFilter
je rozhraní s jedinou metodou boolean accept(File pathname)
FilenameFilter