1. Files
osztály
A fájlokkal való munkavégzéshez van egy sima segédprogram osztály – java.nio.file.Files
. Minden alkalomra vannak módszerei. Ennek az osztálynak az összes metódusa statikus, és a Path objektumon működik. Nagyon sok módszer létezik, ezért csak a legfontosabbakat vesszük figyelembe:
Módszer | Leírás |
---|---|
|
Létrehoz egy új fájlt, amelynek elérési útja apath |
|
Új könyvtárat hoz létre |
|
Több könyvtárat hoz létre |
|
Létrehoz egy ideiglenes fájlt |
|
Létrehoz egy ideiglenes könyvtárat |
|
Töröl egy fájlt vagy könyvtárat, ha az üres |
|
Fájlokat másol |
|
Fájl áthelyezése |
|
Ellenőrzi, hogy az elérési út egy könyvtár és nem egy fájl |
|
Ellenőrzi, hogy az elérési út fájl-e és nem könyvtár |
|
Ellenőrzi, hogy létezik-e objektum az adott útvonalon |
|
Visszaadja a fájl méretét |
|
Egy fájl teljes tartalmát adja vissza bájtok tömbjeként |
|
A fájl teljes tartalmát karakterláncként adja vissza |
|
A fájl teljes tartalmát karakterláncok listájaként adja vissza |
|
Egy bájttömböt ír egy fájlba |
|
Karakterláncot ír egy fájlba |
|
Fájlok (és alkönyvtárak) gyűjteményét adja vissza az adott könyvtárból |
2. Fájlok és könyvtárak létrehozása
A fájlok és könyvtárak létrehozása nagyon egyszerű. Győzzük meg magunkat néhány példával:
Kód | jegyzet |
---|---|
|
Létrehoz egy fájlt |
|
Létrehoz egy könyvtárat |
|
Létrehoz egy könyvtárat és az összes szükséges alkönyvtárat, ha nem létezik. |
3. Másolás, áthelyezés és törlés
A fájlok másolása, áthelyezése és törlése ugyanolyan egyszerű. Ez vonatkozik a könyvtárakra is, de ezeknek üresnek kell lenniük.
Kód | jegyzet |
---|---|
|
Fájlokat másol |
|
Fájl áthelyezése és átnevezése |
|
Töröl egy fájlt |
4. Fájl típusának és létezésének ellenőrzése
Ha valaki mástól kapott elérési utat, akkor tudnia kell, hogy az egy fájl vagy egy könyvtár. És általában létezik ilyen fájl/könyvtár vagy nincs?
Erre is vannak speciális módszerek. Könnyen megtudhatja a fájl hosszát is:
Kód | jegyzet |
---|---|
|
|
|
|
|
|
|
|
5. Munka a fájl tartalmával
Végezetül egy sor módszer létezik, amelyek megkönnyítik egy fájl tartalmának olvasását vagy írását. Példa:
Kód | Leírás |
---|---|
|
Olvassa el a fájl tartalmát karakterláncok listájaként. Jelenítse meg a karakterláncokat |
6. Egy könyvtár tartalmának lekérése
A legérdekesebb módszer továbbra is megmaradt. Egy adott könyvtárban lévő fájlok és alkönyvtárak lekérésére szolgál.
Arról a metódusról beszélünk newDirectoryStream()
, amely egy speciális DirectoryStream<Path>
objektumot ad vissza. Van egy iterátora(!), amivel egy adott könyvtár összes fájlját és alkönyvtárát lekérhetjük.
Ez könnyebb, mint amilyennek hangzik.
Kód | Leírás |
---|---|
|
Fájllistával rendelkező objektum beszerzése Ugorjon át a fájlok listáján |
Az DirectoryStream<Path>
objektumnak két tulajdonsága van. Először is van egy iterátora, amely visszaadja a fájl elérési útját, és ezt az objektumot egy cikluson belül használhatjuk for-each
.
Másodszor, ez az objektum egy adatfolyam, tehát kifejezetten be kell zárni a metódussal , vagy deklaráltan kell használni egy blokkon close()
belül .try-with-resources
7. Files.newInputStream
módszer
A Java 5-től kezdve a FileInputStream
és FileOutputStream
osztályok elavultak. Egyik hátrányuk az volt, hogy amikor ezeknek az osztályoknak az objektumait létrehozzák, a fájlok azonnal létrejönnek a lemezen. És a fájllétrehozással kapcsolatos összes kivételt ki lehet dobni.
Később felismerték, hogy ez nem a legjobb döntés. java.nio.Files
Ennek megfelelően a fájlobjektumok létrehozásához javasolt a segédprogram osztály metódusait használni .
Íme egy összehasonlítás a fájlok létrehozásának régi és új megközelítése között:
Előtt |
---|
|
Után |
|
És van egy hasonló helyettesítő FileOutputStream
:
Előtt |
---|
|
Után |
|
GO TO FULL VERSION