1. Filesosztá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.newInputStreammódszer
A Java 5-től kezdve a FileInputStreamés FileOutputStreamosztá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.FilesEnnek 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