Η κατανόηση και ο χειρισμός των αρχείων κειμένου είναι ένα κρίσιμο έργο σε οποιαδήποτε μορφή ανάπτυξης. Έτσι, η ανάγνωση ενός αρχείου κειμένου σε μια λίστα συμβολοσειρών είναι ένα σενάριο που συναντάται συχνά στον προγραμματισμό C#. Αυτή η λειτουργία μπορεί να είναι χρήσιμη σε αμέτρητες καταστάσεις, όπως η διαχείριση δεδομένων χρήστη, η ανάλυση αρχείων διαμόρφωσης ή ακόμη και ο χειρισμός απλών λειτουργιών βάσης δεδομένων. Καθ' όλη τη διάρκεια της συζήτησής μας, θα χρησιμοποιήσουμε ορισμένες βασικές βιβλιοθήκες C#, συγκεκριμένα τη βιβλιοθήκη System.IO, για την εκτέλεση λειτουργιών χειρισμού αρχείων.
Η C# προσφέρει μια πληθώρα μεθόδων για τον χειρισμό λειτουργιών σε αρχεία κειμένου. Ωστόσο, σε αυτήν την περίπτωση, θα επικεντρωθούμε κυρίως στη χρήση της κλάσης StreamReader και της κλάσης File για τον σκοπό αυτό.
Κατηγορία StreamReader και Μέθοδος ReadToEnd
Η κλάση StreamReader είναι μέρος της βιβλιοθήκης System.IO σε C#. Επιτρέπει σε μια εφαρμογή να διαβάζει χαρακτήρες από μια ροή byte σε μια συγκεκριμένη κωδικοποίηση. Συνδυάζοντας αυτή τη λειτουργικότητα με τη μέθοδο ReadToEnd , μπορούμε να διαβάζουμε από ένα αρχείο κειμένου γραμμή προς γραμμή μέχρι να φτάσουμε στο τέλος του αρχείου.
χρησιμοποιώντας System.IO;
...
Λιστα
χρησιμοποιώντας (StreamReader sr = new StreamReader(“filename.txt”))
{
γραμμή χορδής?
ενώ ((line = sr.ReadLine()) != null)
{
lines.Add(line);
}
}
Λίστα και η χρησιμότητα της σε C#
Ενώ χειρίζεται πολλαπλά στοιχεία δεδομένων του ίδιου τύπου ή, στην περίπτωσή μας, πολλαπλές γραμμές ενός αρχείου κειμένου, η List είναι μια εξαιρετικά αποτελεσματική και ευέλικτη δομή δεδομένων. Αντιπροσωπεύει μια έντονα τυποποιημένη λίστα αντικειμένων στα οποία είναι δυνατή η πρόσβαση μέσω ευρετηρίου.
Η Λίστα προσφέρει πολλές μεθόδους που διευκολύνουν την εκτέλεση κοινών λειτουργιών, όπως η προσθήκη στοιχείων, η αφαίρεση στοιχείων ή η εύρεση στοιχείων, όπως φαίνεται στο απόσπασμα κώδικα παραπάνω.
Αρχείο.Μέθοδος ReadAllLines
Ένας άλλος απλός τρόπος για να φορτώσετε ένα αρχείο κειμένου σε μια λίστα συμβολοσειρών είναι χρησιμοποιώντας τη μέθοδο ReadAllLines από την κλάση File στο System.IO. Η μέθοδος διαβάζει όλες τις γραμμές ενός αρχείου και επιστρέφει ολόκληρο το περιεχόμενο κειμένου του αρχείου ως πίνακα συμβολοσειρών. Μπορούμε εύκολα να μετατρέψουμε αυτόν τον πίνακα σε μια λίστα συμβολοσειρών, εάν απαιτείται.
χρησιμοποιώντας System.IO;
...
Λιστα
Μέσα από την παραπάνω συζήτηση, εξερευνήσαμε διαφορετικούς τρόπους φόρτωσης ενός αρχείου κειμένου σε μια λίστα συμβολοσειρών χρησιμοποιώντας ενσωματωμένη λειτουργικότητα σε C#. Από τη χρήση της ισχυρής κλάσης StreamReader έως την εύχρηστη κλάση File, είδαμε πώς η αξιοποίηση της ισχύος της βιβλιοθήκης System.IO μπορεί να βελτιστοποιήσει και να απλοποιήσει κοινές εργασίες λειτουργίας αρχείων στον προγραμματισμό C#.