Η εργασία με αρχεία και καταλόγους είναι μια βασική εργασία για εφαρμογές που χρειάζονται αποθήκευση και ανάκτηση δεδομένων. Το Go παρέχει το πακέτο διαδρομής αρχείου για λειτουργίες διαδρομής αρχείου ανεξάρτητες από πλατφόρμα. Το πακέτο περιλαμβάνει λειτουργίες χειρισμού διαδρομών αρχείων και είναι συμβατό με Windows, Linux και macOS.
Οι συναρτήσεις που περιλαμβάνει η διαδρομή αρχείου μπορούν να ενώσουν, να χωρίσουν και να καθαρίσουν διαδρομές αρχείων για να διασφαλιστεί ότι είναι έγκυρες. Το πακέτο έχει επίσης λειτουργίες για πεζοπορία καταλόγων και αναζήτηση αρχείων.
Walking Directory Trees
ο Περπατήστε λειτουργία του διαδρομή αρχείου Το πακέτο παρέχει λειτουργικότητα για περπάτημα σε ένα δέντρο καταλόγου και διέλευση αρχείων και καταλόγων με τρόπο προπαραγγελίας. Θα επισκεφθεί αναδρομικά όλους τους καταλόγους κάτω από τη δεδομένη ρίζα. Η συνάρτηση Walk λαμβάνει έναν ριζικό κατάλογο και μια συνάρτηση που λαμβάνει τη διαδρομή, την παρουσία πληροφοριών αρχείου και μια παρουσία σφάλματος.
πακέτο κύριος
εισαγωγή (
"fmt"
"διαδρομή/διαδρομή αρχείου"
"os"
)funcκύριος() {
// Καθορίζει τον ριζικό κατάλογο για να ξεκινήσει η βόλτα
ρίζα := "."// Χρησιμοποιεί τη συνάρτηση Walk για να περπατήσει στο δέντρο καταλόγου
err := διαδρομή αρχείου. Περπάτημα (ρίζα, func(μονοπάτι σειρά, πληροφορίες os. FileInfo, σφάλμα σφάλματος)λάθος {
αν λάθος!= μηδέν {
ΕΠΙΣΤΡΟΦΗ πλανώμαι
}// Εκτυπώνει το όνομα κάθε αρχείου ή καταλόγου
fmt. Println (διαδρομή)
ΕΠΙΣΤΡΟΦΗμηδέν
})
// Ελέγχει για σφάλματα
αν λάθος!= μηδέν {
fmt. Printf("Σφάλμα κατά τη διάρκεια του δέντρου καταλόγου: %v\n", λάθος)
}
}
Αυτό το πρόγραμμα ορίζει τον ριζικό κατάλογο ως τον τρέχοντα κατάλογο εργασίας. ο κύριος Η λειτουργία διασχίζει τους καταλόγους στον ριζικό κατάλογο και εκτυπώνει τα ονόματα των αρχείων.
Αντιστοίχιση αρχείων με αντιστοίχιση προτύπων
Μπορείτε να χρησιμοποιήσετε το Αγώνας λειτουργία για αντιστοίχιση ονομάτων αρχείων με μοτίβο. Η σύνταξη του προτύπου βασίζεται στο κοινό αρχείο σύνταξης μπαλαντέρ, το οποίο χρησιμοποιεί μεταχαρακτήρες, γνωστά ως σφαιρικά μοτίβα σε περιβάλλοντα Unix.
πακέτο κύριος
εισαγωγή (
"fmt"
"διαδρομή/διαδρομή αρχείου"
)funcκύριος() {
// Καθορίζει το μοτίβο που ταιριάζει
μοτίβο := "*.κείμενο"// Χρησιμοποιεί τη συνάρτηση Match για να ταιριάζει με το μοτίβο στα αρχεία
match, err := διαδρομή αρχείου. Ταίριασμα (μοτίβο, "file.txt")αν λάθος!= μηδέν {
fmt. Printf("Σφάλμα αντιστοίχισης μοτίβου: %v\n", λάθος)
ΕΠΙΣΤΡΟΦΗ
}
// Εκτυπώνει το αποτέλεσμα του αγώνα
αν αγώνας {
fmt. Println("Το αρχείο ταιριάζει με το μοτίβο.")
} αλλού {
fmt. Println("Το αρχείο δεν ταιριάζει με το μοτίβο.")
}
}
ο κύριος η συνάρτηση ταιριάζει με ένα όνομα αρχείου με το *.κείμενο μοτίβο και εκτυπώνει μια συμβολοσειρά ανάλογα με το αποτέλεσμα του η υπό όρους δήλωση.
Καθαρισμός μονοπατιών με τη λειτουργία Clean
ο ΚΑΘΑΡΗ η συνάρτηση παίρνει μια διαδρομή αρχείου και επιστρέφει μια καθαρισμένη έκδοση μιας διαδρομής αφαιρώντας περιττά διαχωριστικά και αλλαγές καταλόγου, όπως π.χ. . (τρέχων κατάλογος) και .. τμήματα (γονικός κατάλογος).
Ο καθαρισμός των διαδρομών αρχείων είναι χρήσιμος, καθώς βοηθά στην αποφυγή σφαλμάτων εάν μια διαδρομή περιέχει περιττά διαχωριστικά ή μη έγκυρα τμήματα ή δημιουργεί διαδρομές ανεξάρτητα από τον τρέχοντα κατάλογο εργασίας.
πακέτο κύριος
εισαγωγή (
"fmt"
"διαδρομή/διαδρομή αρχείου"
)funcκύριος() {
// Δημιουργεί μια διαδρομή με πλεονάζοντα διαχωριστικά και μη έγκυρα τμήματα
μονοπάτι := "/foo/bar//baz/.././qux/"// Καθαρίζει το μονοπάτι
cleanPath := διαδρομή αρχείου. Καθαρό (μονοπάτι)
// Εκτυπώνει τις αρχικές και καθαρισμένες διαδρομές αρχείου
fmt. Println("Αρχική διαδρομή:", μονοπάτι)
fmt. Println("Καθαρισμένο μονοπάτι:", cleanPath)
}
ο μονοπάτι μεταβλητή είναι η αρχική διαδρομή αρχείου και το ΚΑΘΑΡΗ λειτουργία καθαρίζει το μονοπάτι μεταβλητή και επιστρέφει τη διαδρομή του καθαρισμένου αρχείου. ο κύριος Η λειτουργία εκτυπώνει τις αρχικές και καθαρές διαδρομές αρχείου.
Σύνδεση και διαίρεση διαδρομών αρχείων στο Go
ο Συμμετοχή και Διαίρεση Οι λειτουργίες παρέχουν λειτουργικότητα για σύνδεση και διαχωρισμό μονοπατιών αρχείων.
Η συνάρτηση Join λαμβάνει οποιονδήποτε αριθμό στοιχείων διαδρομής. Επιστρέφει μια μοναδική συμβολοσειρά διαδρομής αρχείου που προκύπτει από τη σύνδεση αυτών των στοιχείων χρησιμοποιώντας το κατάλληλο διαχωριστικό διαδρομής για το λειτουργικό σύστημα. ο Συμμετοχή Η λειτουργία είναι χρήσιμη για τη δημιουργία διαδρομών αρχείων ανεξάρτητων από το υποκείμενο σύστημα αρχείων.
πακέτο κύριος
εισαγωγή (
"fmt"
"διαδρομή/διαδρομή αρχείου"
)funcκύριος() {
// Καθορίζει τέσσερις διαδρομές αρχείου για τη λειτουργία σύνδεσης
μονοπάτι 1 := "φάκελος 1"
μονοπάτι 2 := "φάκελος 2"
μονοπάτι 3 := "υποφάκελος 1"
μονοπάτι 4 := "example.txt"// Ενώνει τις τέσσερις διαδρομές αρχείων μαζί σε μια ενιαία διαδρομή
joinedPath := διαδρομή αρχείου. Συμμετοχή (διαδρομή1, διαδρομή2, διαδρομή3, διαδρομή4)
// Εκτυπώστε την ενοποιημένη διαδρομή αρχείου
fmt. Println("Joined Path:", joinedPath)
}
ο μονοπάτι 1, μονοπάτι2, και μονοπάτι 3 οι μεταβλητές είναι ονόματα φακέλων και το μονοπάτι 4 μεταβλητή είναι ένα όνομα αρχείου. ο Συμμετοχή Η συνάρτηση παίρνει τα ονόματα των μεταβλητών διαδρομής και επιστρέφει τη συνενωμένη διαδρομή αρχείου. ο κύριος Η λειτουργία εκτυπώνει τη συνενωμένη διαδρομή αρχείου στην κονσόλα με το fmt πακέτο.
ο Διαίρεση η συνάρτηση παίρνει μια συμβολοσειρά διαδρομής και επιστρέφει τα στοιχεία του καταλόγου και του ονόματος αρχείου της διαδρομής. ο Διαίρεση Η λειτουργία είναι χρήσιμη για την εξαγωγή ονομάτων αρχείων ή για τον προσδιορισμό του γονικού καταλόγου ενός αρχείου.
πακέτο κύριος
εισαγωγή (
"fmt"
"διαδρομή/διαδρομή αρχείου"
)
funcκύριος() {
// Ορίζει τη διαδρομή αρχείου για τη λειτουργία διαχωρισμού
filePath := "/home/user/documents/example.txt"
// Χρησιμοποιήστε τη συνάρτηση Split για να χωρίσετε τη διαδρομή του αρχείου
// στον κατάλογο και τα στοιχεία του αρχείου
dir, αρχείο := διαδρομή αρχείου. Διαίρεση (filePath)
// Εκτύπωση του καταλόγου και των στοιχείων του αρχείου
fmt. Println("Ευρετήριο:", σκηνοθεσία)
fmt. Println("Αρχείο:", αρχείο)
}
ο διαδρομή αρχείου μεταβλητή είναι η αρχική διαδρομή αρχείου και το Διαίρεση η λειτουργία αναλαμβάνει το διαδρομή αρχείου μεταβλητή και επιστρέφει τον κατάλογο και τα ονόματα αρχείων ως συμβολοσειρές. ο κύριος Η λειτουργία εκτυπώνει τα ονόματα καταλόγου και αρχείων στην κονσόλα.
Μπορείτε να χειριστείτε αρχεία κειμένου με το Go
Παράλληλα με τη λειτουργικότητα του συστήματος αρχείων, το Go παρέχει πακέτα που σας βοηθούν να εργαστείτε με πολλούς τύπους αρχείων, συμπεριλαμβανομένων των αρχείων κειμένου.
Μπορείτε να χρησιμοποιήσετε το bufio πακέτο σε λειτουργίες εισόδου και εξόδου σε προσωρινή μνήμη σε αρχεία κειμένου και το os πακέτο για τη δημιουργία αρχείων, μεταξύ άλλων λειτουργιών.