Τρόπος ανάγνωσης ενός αρχείου κειμένου, χρησιμοποιώντας System.IO 2005 Visual Basic ή σε Visual Basic .NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 302309 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Για την έκδοση Microsoft Visual C# .NET αυτού του άρθρου, ανατρέξτε στο θέμα 306777.
Για την έκδοση Microsoft Visual Basic 6.0 αυτού του άρθρου, ανατρέξτε στο θέμα 183638.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο επιδεικνύει τον τρόπο για την ανάκτηση πληροφοριών από ένα αρχείο κειμένου και χρησιμοποιήστε μια κλάση ArrayList για να εμφανίσετε αυτές τις πληροφορίες στο χρήστη.

Ανάγνωση αρχείων κειμένου σε 2005 Visual Basic ή σε Visual Basic .NET

Άνοιγμα και την ανάγνωση αρχείων για πρόσβαση ανάγνωσης αποτελεί σημαντικό τμήμα του εισόδου/εξόδου (IO) λειτουργικότητα, ακόμη και αν δεν πρέπει να γίνει εγγραφή στο αρχείο στην ερώτηση. Το παράδειγμα αυτό ανοίγει ένα αρχείο για ανάγνωση, η οποία είναι χρήσιμη για κείμενο αρχεία αλλά δεν είναι κατάλληλη για δυαδικά αρχεία. Το παράδειγμα αυτό χρησιμοποιεί ένα από τα πολλά μέθοδοι που είναι διαθέσιμες για το άνοιγμα του αρχείου. Παρόλο που πολλές δομές δεδομένων είναι διαθέσιμη για την αποθήκευση πληροφοριών που ανακτάται από το αρχείο, μια κλάση ArrayList είναι η ευκολότερη δομή για να χρησιμοποιήσετε. Για να ανοίξετε και να διαβάσετε από το αρχείο, αυτό το παράδειγμα χρησιμοποιεί τα αντικείμενα από το χώρο ονομάτων System.IO , ειδικά την κλάση System.IO.StreamReader .

Σημείωση Αυτό το δείγμα απαιτεί κάποια μορφή ενός αρχείου κειμένου (.txt) από την οποία Για να διαβάσετε.

Για να φορτώσετε και να διαβάσετε ένα αρχείο κειμένου από το 2005 του Microsoft Visual Basic ή Microsoft Visual Basic .NET, ακολουθήστε αυτά τα βήματα:
  1. Ξεκινήστε το Microsoft Visual Studio 2005 ή Microsoft Visual Studio .NET. Δημιουργία νέας εφαρμογής κονσόλας στη Visual Basic. Visual Studio δημιουργεί μια λειτουργική μονάδα , μαζί με μια κενή διαδικασία Main() .
  2. Βεβαιωθείτε ότι το έργο τουλάχιστον αναφέρει το χώρο ονομάτων του συστήματος . Χρησιμοποιήστε την πρόταση εισαγωγών σχετικά με τα πεδία ονομάτων του συστήματος, System.IOκαι System.Collections , έτσι δεν είναι απαραίτητο να εγκρίνετε δηλώσεις από αυτά τα πεδία ονομάτων αργότερα στον κώδικά σας. Πρέπει να χρησιμοποιήσετε αυτές τις προτάσεις πριν από οποιαδήποτε άλλες δηλώσεις.
    Imports System
    Imports System.IO
    Imports System.Collections
    					
  3. Για να ανοίξετε ένα αρχείο για ανάγνωση, να δημιουργήσετε μια νέα περίοδο λειτουργίας ενός αντικειμένου StreamReader και περάσει διαδρομή του αρχείου στην κατασκευή ως εξής:
    Dim objReader As New StreamReader("c:\test.txt")
    					
  4. Θα χρειαστείτε μια μεταβλητή συμβολοσειράς στην οποία θέλετε να αποθηκεύσετε κάθε γραμμή από το αρχείο ως διεργασία που. Επειδή θα προσθέσετε αυτές τις γραμμές σε ένα ArrayList, δηλώνουν και να δημιουργήσετε ένα αντικείμενο με αυτόν τον τύπο.
    Dim sLine As String = ""
    Dim arrText As New ArrayList()
    					
  5. Υπάρχουν πολλοί τρόποι για την ανάγνωση του αρχείου, συμπεριλαμβανομένης της μεθόδου ReadToEnd που διαβάζει σε ολόκληρο το αρχείο ταυτόχρονα. Ωστόσο, για αυτό το παράδειγμα, μπορείτε να χρησιμοποιήσετε τη μέθοδο ReadLine για να εισαγάγετε το αρχείο με μία γραμμή κάθε φορά. Κατά το τέλος της το αρχείο έχει ήδη επιτευχθεί, η μέθοδος αυτή επιστρέφει "Τίποτα", γεγονός που επιτρέπει έναν τρόπο για να τερματίσετε το βρόχο. Όπως μπορείτε να διαβάσετε κάθε γραμμή από το αρχείο, μπορείτε να χρησιμοποιήσετε τη μέθοδο της ArrayList , για να εισαγάγετε τις γραμμές σε κλάση σας ArrayList .
    Do
        sLine = objReader.ReadLine()
        If Not sLine Is Nothing Then
            arrText.Add(sLine)
        End If
    Loop Until sLine Is Nothing
    objReader.Close()
    					
  6. Χρησιμοποιήστε ένα βρόχο "Για κάθε" για να γράψετε τα περιεχόμενα του σας πρόσφατα συμπλήρωσε ArrayList στην κονσόλα ως εξής:
    For Each sLine In arrText
        Console.WriteLine(sLine)
    Next
    Console.ReadLine()
    					
  7. Αποθηκεύστε και εκτελέστε τον κώδικά σας, που παράγει μια λίστα σας το αρχείο στην κονσόλα.

Ολοκληρώσετε την καταχώρηση κωδικού

Imports System
Imports System.IO
Imports System.Collections

Module Module1

    Sub Main()
        Dim objReader As New StreamReader("c:\test.txt")
        Dim sLine As String = ""
        Dim arrText As New ArrayList()

        Do
            sLine = objReader.ReadLine()
            If Not sLine Is Nothing Then
                arrText.Add(sLine)
            End If
        Loop Until sLine Is Nothing
        objReader.Close()

        For Each sLine In arrText
            Console.WriteLine(sLine)
        Next
        Console.ReadLine()
    End Sub

End Module
				

Μειονεκτήματα

Υπάρχουν αρκετά πράγματα που πρέπει να έχετε υπόψη όταν εργάζεστε με αρχείο Είσοδος/έξοδος, συμπεριλαμβανομένων των εξής στοιχείων:
  • Οποιαδήποτε στιγμή έχετε πρόσβαση σε ένα αρχείο, υπάρχει η δυνατότητα που ενδέχεται να μην είναι το αρχείο που προσπαθείτε να διαβάσετε ή να γράψετε στο σύστημα ή Μαΐου να χρησιμοποιείται.
  • Αυτό το παράδειγμα διαβάσει ολόκληρο το αρχείο στη μνήμη πριν από την επεξεργάζεται το αρχείο. Ενδέχεται να αντιμετωπίσετε μια κατάσταση όπου το αρχείο είναι πολύ μεγάλο, ώστε να διατηρούνται στη μνήμη, ή ίσως δεν έχετε δικαιώματα πρόσβασης του το αρχείο.
Οποιαδήποτε από αυτές τις περιπτώσεις να προκαλέσει μια εξαίρεση για να αυξηθεί. Είναι πάντα καλό να παρέχουν ένα μπλοκ Δοκιμάστε... αλιευμάτων για το χειρισμό αυτών των κοινών ζητημάτων.

Ιδιότητες

Αναγν. άρθρου: 302309 - Τελευταία αναθεώρηση: Παρασκευή, 7 Ιουνίου 2013 - Αναθεώρηση: 5.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Λέξεις-κλειδιά: 
kbvs2005applies kbvs2005swept kbhowtomaster kbmt KB302309 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 302309

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com