Hozzon létre egy könyvtárat a Java-ban
1. Áttekintés
Könyvtár létrehozása Java-val elég egyszerű. A nyelv kétféle módszert biztosít számunkra, amelyek lehetővé teszik egyetlen könyvtár vagy több beágyazott könyvtár létrehozását - mkdir () és mkdirs ().
Ebben az oktatóanyagban meglátjuk, hogyan viselkednek mindketten.
2. Hozzon létre egyetlen könyvtárat
Kezdjük egyetlen könyvtár létrehozásával.
Céljainkhoz felhasználjuk a felhasználót temp Könyvtár. Utána nézhetünk System.getProperty („java.io.tmpdir”).
Ezt az utat átadjuk egy Java-nak File objektum, amely a temp könyvtárunkat képviseli:
privát statikus végleges fájl TEMP_DIRECTORY = új fájl (System.getProperty ("java.io.tmpdir"));
Most hozzunk létre egy új könyvtárat benne. Ezt úgy érjük el, hogy felhívjuk a Fájl :: mkdir módszer egy új File a létrehozandó könyvtárat képviselő objektum:
Fájl newDirectory = új fájl (TEMP_DIRECTORY, "új_könyvtár"); assertFalse (newDirectory.exists ()); assertTrue (newDirectory.mkdir ());
Annak biztosítására, hogy könyvtárunk még nem létezik, először a létezik() módszer.
Aztán felhívtuk a mkdir () módszer, amely megmondja, hogy a könyvtár létrehozása sikerült-e vagy sem. Ha a könyvtár már létezett, a metódus visszatért volna hamis.
Ha ugyanazokat a hívásokat folytatjuk újra:
assertTrue (newDirectory.exists ()); assertFalse (newDirectory.mkdir ());
Aztán, ahogy számítottunk rá, a módszer visszatér hamis a második hívásra.
És a mkdir () módszer nem csak visszatér hamis amikor a könyvtár már létezik hanem néhány más helyzetben is. Például létezhet egy fájl a létrehozni kívánt könyvtár nevével. Vagy hiányozhat a könyvtár létrehozásának engedélye.
Ezt szem előtt tartva meg kell találnunk a módját, hogy megbizonyosodjunk arról, hogy a könyvtárunk végül is létezik-e, vagy létrehoztuk, vagy már ott volt. Erre a célra használhatnánk a isDirectory () módszer:
newDirectory.mkdir () || newDirectory.isDirectory ()
Így megbizonyosodunk arról, hogy a szükséges könyvtár megvan-e.
3. Hozzon létre több beágyazott könyvtárat
Az eddig látottak jól működnek egyetlen könyvtárban, de mi történik, ha több beágyazott könyvtárat akarunk létrehozni?
A következő példában ezt látni fogjuk Fájl :: mkdir nem működik ezért:
Fájl newDirectory = új fájl (TEMP_DIRECTORY, "új_könyvtár"); Fájl nestedDirectory = új Fájl (newDirectory, "beágyazott_könyvtár"); assertFalse (newDirectory.exists ()); assertFalse (nestedDirectory.exists ()); assertFalse (nestedDirectory.mkdir ());
Mivel a új_könyvtár nem létezik mkdir nem hozza létre az alapul szolgáló elemet beágyazott_könyvtár.
Azonban a File osztály nyújt nekünk egy másik módszert ennek elérésére - mkdirs (). Ez a módszer úgy fog viselkedni mkdir () hanem létrehozza az összes nem létező szülőkönyvtárat is.
Előző példánkban ez nemcsak létrehozást jelentene beágyazott_könyvtár, de szintén új_könyvtár.
Ne feledje, hogy eddig a Fájl (fájl, karakterlánc) kivitelező, de használhatjuk a Fájl (karakterlánc) konstruktor és adja át a fájlunk teljes elérési útját a File.separator az út különböző részeinek elkülönítéséhez:
Fájl newDirectory = új Fájl (System.getProperty ("java.io.tmpdir") + File.separator + "new_directory"); Fájl nestedDirectory = új Fájl (newDirectory, "beágyazott_könyvtár"); assertFalse (newDirectory.exists ()); assertFalse (nestedDirectory.exists ()); assertTrue (nestedDirectories.mkdirs ());
Mint láthatjuk, a könyvtárak a várakozásoknak megfelelően jönnek létre. Sőt, a módszer csak visszatér igaz amikor legalább egy könyvtár létrejön. Ami a mkdir () módszerrel visszatér hamis a többi esetben.
Ezért ez azt jelenti, hogy a mkdirs () olyan könyvtárban használt módszer, amelynek szülei léteznek, ugyanúgy fog működni, mint a mkdir () módszer.
4. Következtetés
Ebben a cikkben két módszert láthattunk, amelyek lehetővé teszik könyvtárak létrehozását Java-ban. Az első, mkdir (), egyetlen könyvtár létrehozását célozza, feltéve, hogy a szülei már léteznek. A második, mkdirs (), képes létrehozni egy könyvtárat, valamint a nem létező szülőket.
A cikk kódja megtalálható a GitHub oldalán.