Praca z plikami i katalogami to podstawowe zadanie dla aplikacji, które muszą przechowywać i pobierać dane. Go udostępnia pakiet filepath dla niezależnych od platformy operacji na ścieżkach plików. Pakiet zawiera funkcje do manipulowania ścieżkami plików i jest kompatybilny z systemami Windows, Linux i macOS.
Funkcje zawarte w filepath mogą łączyć, dzielić i czyścić ścieżki plików, aby upewnić się, że są one prawidłowe. Pakiet posiada również funkcje do chodzenia po katalogach i wyszukiwania plików.
Chodzące drzewa katalogów
The Chodzić funkcja ścieżka pliku pakiet zapewnia funkcjonalność do chodzenia po drzewie katalogów i przechodzenia przez pliki i katalogi w sposób przedpremierowy. Będzie rekurencyjnie odwiedzać wszystkie katalogi poniżej podanego katalogu głównego. Funkcja Walk przyjmuje katalog główny i funkcję, która pobiera ścieżkę, instancję informacji o pliku i instancję błędu.
pakiet główny
import (
"fmt"
„ścieżka/ścieżka do pliku”
„os”
)funkcjagłówny() {
// Definiuje katalog główny, aby rozpocząć spacer
korzeń := "."// Używa funkcji Walk do przechodzenia po drzewie katalogów
błąd:= ścieżka do pliku. Spacer (korzeń, funkcja(ścieżka strunowy, informacja os. FileInfo, błąd błędu)błąd {
Jeśli błąd!= zero {
powrót błądzić
}// Drukuje nazwę każdego pliku lub katalogu
fmt. Println (ścieżka)
powrótzero
})
// Sprawdza błędy
Jeśli błąd!= zero {
fmt. Drukujf(„Błąd podczas przeglądania drzewa katalogów: %v\n”, błąd)
}
}
Ten program definiuje katalog główny jako bieżący katalog roboczy. The główny funkcja przechodzi przez katalogi w katalogu głównym i wypisuje nazwy plików.
Dopasowywanie plików z dopasowywaniem wzorców
Możesz użyć Mecz funkcja dopasowująca nazwy plików do wzorca. Składnia wzorca jest oparta na wspólnym składnia symboli wieloznacznych pliku, która wykorzystuje metaznaki, znane jako wzorce globalne w środowiskach Unix.
pakiet główny
import (
"fmt"
„ścieżka/ścieżka do pliku”
)funkcjagłówny() {
// Definiuje wzorzec do dopasowania
wzór := "*.tekst"// Używa funkcji Match do dopasowania wzorca w plikach
pasuje, błąd:= ścieżka do pliku. Dopasuj (wzór, "plik.txt")Jeśli błąd!= zero {
fmt. Drukujf(„Błąd dopasowania wzorca: %v\n”, błąd)
powrót
}
// Drukuje wynik dopasowania
Jeśli mecz {
fmt. println(„Plik pasuje do wzorca”.)
} w przeciwnym razie {
fmt. println(„Plik nie pasuje do wzorca”.)
}
}
The główny funkcja dopasowuje nazwę pliku do *.tekst pattern i drukuje ciąg w zależności od wyniku zdanie warunkowe.
Ścieżki czyszczenia z funkcją czyszczenia
The Czysty funkcja pobiera ścieżkę pliku i zwraca oczyszczoną wersję ścieżki, usuwając niepotrzebne separatory i zmiany katalogów, takie jak . (bieżący katalog) i .. segmenty (katalog nadrzędny).
Czyszczenie ścieżek plików jest przydatne, ponieważ pomaga uniknąć błędów, jeśli ścieżka zawiera nadmiarowe separatory lub nieprawidłowe segmenty lub tworzy ścieżki niezależne od bieżącego katalogu roboczego.
pakiet główny
import (
"fmt"
„ścieżka/ścieżka do pliku”
)funkcjagłówny() {
// Tworzy ścieżkę ze zbędnymi separatorami i nieprawidłowymi segmentami
ścieżka := "/foo/bar//baz/.././qux/"// Czyści ścieżkę
cleanPath:= ścieżka do pliku. Czysty (ścieżka)
// Drukuje oryginalne i oczyszczone ścieżki plików
fmt. println(„Oryginalna ścieżka:”, ścieżka)
fmt. println(„Wyczyszczona ścieżka:”, czystaŚcieżka)
}
The ścieżka zmienna to początkowa ścieżka do pliku, a zmienna Czysty funkcja czyści ścieżka zmienna i zwraca wyczyszczoną ścieżkę do pliku. The główny funkcja drukuje początkowe i czyste ścieżki plików.
Łączenie i dzielenie ścieżek plików w Go
The Dołączyć I Podział funkcje zapewniają funkcjonalność łączenia i dzielenia ścieżek plików.
Funkcja Join przyjmuje dowolną liczbę elementów ścieżki. Zwraca pojedynczy ciąg ścieżki do pliku, który wynika z połączenia tych elementów przy użyciu odpowiedniego separatora ścieżki dla systemu operacyjnego. The Dołączyć Funkcja jest przydatna do konstruowania ścieżek plików niezależnych od bazowego systemu plików.
pakiet główny
import (
"fmt"
„ścieżka/ścieżka do pliku”
)funkcjagłówny() {
// Definiuje cztery ścieżki plików dla operacji łączenia
ścieżka1 := „folder1”
ścieżka2 := „folder2”
ścieżka3 := „podfolder1”
ścieżka4 := „przykład.txt”// Łączy cztery ścieżki plików w jedną ścieżkę
połączona ścieżka:= ścieżka do pliku. Dołącz (ścieżka1, ścieżka2, ścieżka3, ścieżka4)
// Wydrukuj ujednoliconą ścieżkę do pliku
fmt. println(„Połączona ścieżka:”, połączona ścieżka)
}
The ścieżka1, ścieżka2, I ścieżka3 zmienne to nazwy folderów, a ścieżka4 zmienna to nazwa pliku. The Dołączyć funkcja przyjmuje nazwy zmiennych ścieżki i zwraca połączoną ścieżkę do pliku. The główny funkcja drukuje połączoną ścieżkę pliku do konsoli z rozszerzeniem fmt pakiet.
The Podział funkcja pobiera ciąg ścieżki i zwraca komponenty katalogu i nazwy pliku ścieżki. The Podział Funkcja jest przydatna do wyodrębniania nazw plików lub określania katalogu nadrzędnego pliku.
pakiet główny
import (
"fmt"
„ścieżka/ścieżka do pliku”
)
funkcjagłówny() {
// Ustawia ścieżkę do pliku dla operacji podziału
Ścieżka do pliku := "/home/user/documents/example.txt"
// Użyj funkcji Split, aby podzielić ścieżkę do pliku
// do jego katalogu i komponentów plików
katalog, plik := ścieżka do pliku. Podziel (ścieżka do pliku)
// Wydrukuj katalog i komponenty plików
fmt. println("Informator:", reż.)
fmt. println("Plik:", plik)
}
The ścieżka pliku zmienna to oryginalna ścieżka do pliku, a zmienna Podział funkcja przyjmuje ścieżka pliku zmiennej i zwraca nazwy katalogów i plików jako ciągi znaków. The główny funkcja drukuje katalog i nazwy plików w konsoli.
Możesz manipulować plikami tekstowymi za pomocą Go
Oprócz funkcji systemu plików Go udostępnia pakiety ułatwiające pracę z wieloma typami plików, w tym z plikami tekstowymi.
Możesz użyć bufio package do buforowanych operacji wejścia i wyjścia na plikach tekstowych i os pakiet do tworzenia plików m.in.