Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A fájlokkal és könyvtárakkal való munka alapvető feladat azoknak az alkalmazásoknak, amelyeknek adatokat kell tárolniuk és visszakeresniük. A Go biztosítja a filepath csomagot a platformfüggetlen fájlútvonal-műveletekhez. A csomag olyan funkciókat tartalmaz, amelyekkel manipulálhatja a fájl elérési útját, és kompatibilis a Windows, Linux és macOS rendszerrel.

A filepath által tartalmazott függvények egyesíthetik, feloszthatják és megtisztíthatják a fájl elérési útjait, így biztosítva azok érvényességét. A csomagban vannak könyvtárak sétálására és fájlok keresésére is alkalmas funkciók.

Sétáló címtárfák

A Séta funkciója fájl elérési út csomag olyan funkciókat biztosít, amelyek lehetővé teszik a könyvtárfa bejárását, valamint a fájlok és könyvtárak előrendelési módját. Rekurzívan meglátogatja az adott gyökér alatti összes könyvtárat. A Séta funkció bevesz egy gyökérkönyvtárat és egy függvényt, amely az elérési utat, a fájlinformációs példányt és a hibapéldányt veszi fel.

csomag fő-

import (
"fmt"
"útvonal/fájlútvonal"
"os"
)

funcfő-() {
// Meghatározza a gyökérkönyvtárat a séta indításához
gyökér := "."

// A Séta funkciót használja a címtárfa bejárására
err := fájlútvonal. Séta (gyökér, func(pálya húr, info os. FileInfo, hiba hiba)hiba {
ha hiba! = nulla {
Visszatérés téved
}

// Kiírja az egyes fájlok vagy könyvtárak nevét
fmt. Println (elérési út)
Visszatérésnulla
})

// Ellenőrzi a hibákat
ha hiba! = nulla {
fmt. Printf("Hiba a könyvtárfa járása közben: %v\n", hiba)
}
}

Ez a program a gyökérkönyvtárat határozza meg az aktuális munkakönyvtárként. A fő- függvény bejárja a gyökérkönyvtár könyvtárait, és kiírja a fájlok nevét.

Fájlok egyeztetése mintaillesztéssel

Használhatja a mérkőzés függvény a fájlnevek mintához való párosításához. A minta szintaxisa a közösen alapul fájl helyettesítő karakterek szintaxisa, amely metakaraktereket használUnix környezetekben glob mintákként ismert.

csomag fő-

import (
"fmt"
"útvonal/fájlútvonal"
)

funcfő-() {
// Meghatározza az illeszkedő mintát
minta := "*.txt"

// A Match funkciót használja a fájlok mintájának egyeztetésére
egyezés, err := fájlútvonal. Match (minta, "fájl.txt")

ha hiba! = nulla {
fmt. Printf("Hiba a minta egyeztetésében: %v\n", hiba)
Visszatérés
}

// Kiírja a mérkőzés eredményét
ha mérkőzés {
fmt. Println("A fájl megfelel a mintának.")
} más {
fmt. Println("A fájl nem egyezik a mintával.")
}
}

A fő- függvény egy fájlnevet egyezik a *.txt mintát, és az eredménytől függően karakterláncot nyomtat a feltételes kijelentést.

Útvonalak tisztítása a Clean funkcióval

A Tiszta függvény bevesz egy fájl elérési utat, és az elérési út megtisztított változatát adja vissza a szükségtelen elválasztók és könyvtármódosítások eltávolításával, mint pl. . (aktuális címtár) és .. (szülőkönyvtár) szegmensek.

A fájl elérési útjainak megtisztítása hasznos, mert segít elkerülni a hibákat, ha egy elérési út redundáns elválasztókat vagy érvénytelen szegmenseket tartalmaz, vagy az aktuális munkakönyvtártól független útvonalakat hoz létre.

csomag fő-

import (
"fmt"
"útvonal/fájlútvonal"
)

funcfő-() {
// Létrehoz egy elérési utat redundáns elválasztókkal és érvénytelen szegmensekkel
útvonal := "/foo/bar//baz/.././qux/"

// Megtisztítja az utat
cleanPath := fájlútvonal. Tiszta (útvonal)

// Kinyomtatja az eredeti és a tisztított fájl elérési útját
fmt. Println("Eredeti útvonal:", pálya)
fmt. Println("Tisztított útvonal:", cleanPath)
}

A pálya változó a kezdeti fájl elérési útja, és a Tiszta funkció megtisztítja a pálya változót, és visszaadja a megtisztított fájl elérési utat. A fő- függvény kiírja a kezdeti és tiszta fájl elérési utat.

Fájlútvonalak összekapcsolása és felosztása a Go-ban

A Csatlakozik és Hasított A függvények funkcionalitást biztosítanak a fájl elérési útjainak összekapcsolására és felosztására.

A Join függvény tetszőleges számú útvonalelemet vesz fel. Egyetlen fájlútvonal-karakterláncot ad vissza, amely az elemeknek az operációs rendszernek megfelelő útvonalelválasztó használatával történő összefűzéséből adódik. A Csatlakozik A funkció hasznos az alapul szolgáló fájlrendszertől független fájl elérési utak létrehozásához.

csomag fő-

import (
"fmt"
"útvonal/fájlútvonal"
)

funcfő-() {
// Négy fájl elérési utat határoz meg az összekapcsolási művelethez
útvonal1 := "mappa1"
útvonal2 := "mappa2"
path3 := "almappa1"
path4 := "example.txt"

// A négy fájl elérési utat egyetlen elérési úttá egyesíti
joinedPath := fájlútvonal. Csatlakozás (útvonal1, út2, út3, út4)

// Az egyesített fájl elérési út kinyomtatása
fmt. Println("Csatlakozó út:", joinedPath)
}

A útvonal1, útvonal2, és útvonal3 változók a mappanevek és a útvonal4 a változó egy fájlnév. A Csatlakozik függvény beveszi az elérési útváltozók nevét, és visszaadja az összefűzött fájl elérési utat. A fő- függvény kiírja az összefűzött fájl elérési útját a konzolhoz a fmt csomag.

A Hasított függvény bevesz egy elérési út karakterláncot, és visszaadja az elérési út könyvtárát és fájlnevét. A Hasított A funkció hasznos a fájlnevek kibontásához vagy a fájl szülőkönyvtárának meghatározásához.

csomag fő-

import (
"fmt"
"útvonal/fájlútvonal"
)

funcfő-() {
// Beállítja a felosztási művelet fájl elérési útját
filePath := "/home/user/documents/example.txt"

// Használja a Split funkciót a fájl elérési útjának felosztásához
// könyvtárába és fájlösszetevőibe
dir, fájl := fájlútvonal. Felosztás (filePath)

// Nyomtassa ki a könyvtárat és a fájlösszetevőket
fmt. Println("Könyvtár:", rendező)
fmt. Println("Fájl:", fájl)
}

A fájl elérési út változó az eredeti fájl elérési útja, és a Hasított függvény beveszi a fájl elérési út változót, és sztringként adja vissza a könyvtár- és fájlneveket. A fő- függvény kiírja a könyvtár- és fájlneveket a konzolra.

Manipulálhatja a szöveges fájlokat a Go segítségével

A fájlrendszer funkciói mellett a Go olyan csomagokat is biztosít, amelyek segítségével többféle fájltípussal dolgozhat, beleértve a szöveges fájlokat is.

Használhatja a bufio csomag pufferelt bemeneti és kimeneti műveleteihez szöveges fájlok és a os csomag fájlok létrehozásához, többek között egyéb műveletekhez.