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

Για την Microsoft Visual Basic 6.0 έκδοση αυτού του άρθρου, ανατρέξτε στην ενότητα 183638 .

Σύνοψη

Αυτό το άρθρο παρουσιάζει τον τρόπο ανάγνωσης και εγγραφής σε ένα αρχείο κειμένου χρησιμοποιώντας το Microsoft Visual Basic 2005 ή Microsoft Visual Basic .NET.

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει το υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που χρειάζεστε:
  • Visual Basic 2005 ή Visual Basic .NET
Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τα ακόλουθα θέματα:
  • Visual Basic 2005 ή Visual Basic .NET

Ανάγνωση και εγγραφή αρχείων κειμένου

Στην ενότητα "ανάγνωση ενός αρχείου κειμένου" παρουσιάζει πώς μπορείτε να χρησιμοποιήσετε το αντικείμενο StreamReader για να διαβάσετε ένα αρχείο κειμένου. Στην ενότητα "εγγραφή ενός αρχείου κειμένου (παράδειγμα 1)" και η "εγγραφή ενός αρχείου κειμένου (παράδειγμα 2)" ενότητα παρουσιάζουν τον τρόπο χρήσης της κλάσης StreamWriter για να γράψετε κείμενο σε ένα αρχείο.

Ανάγνωση ενός αρχείου κειμένου

Ο κώδικας που ακολουθεί χρησιμοποιεί την κλάση StreamReader για να ανοίξετε, να διαβάσετε και να κλείσετε το αρχείο κειμένου. Μπορείτε να περάσετε το όνομα διαδρομής του αρχείου κειμένου στην κατασκευή StreamReader ώστε να ανοίγει αυτόματα το αρχείο. Η μέθοδος ReadLine διαβάζει κάθε γραμμή του κειμένου και διαστήματα ο δείκτης του αρχείου στην επόμενη γραμμή καθώς διαβάζει. Όταν η μέθοδος ReadLine φτάσει στο τέλος του αρχείου, επιστρέφει τίποτα.
  1. Ξεκινήστε το Microsoft Visual Studio 2005 ή το Microsoft Visual Studio .NET.
  2. Δημιουργία νέας εφαρμογής κονσόλας σε Visual Basic 2005 ή Visual Basic .NET.
  3. Προσθέστε τον ακόλουθο κώδικα στην αρχή του αρχείου Module1.vb:
    Imports System.IO
  4. Προσθέστε τον ακόλουθο κώδικα στη διαδικασία Sub Main .
    Dim objStreamReader As StreamReader    Dim strLine As String

    'Pass the file path and the file name to the StreamReader constructor.
    objStreamReader = New StreamReader("C:\Boot.ini")

    'Read the first line of text.
    strLine = objStreamReader.ReadLine

    'Continue to read until you reach the end of the file.
    Do While Not strLine Is Nothing

    'Write the line to the Console window.
    Console.WriteLine(strLine)

    'Read the next line.
    strLine = objStreamReader.ReadLine
    Loop

    'Close the file.
    objStreamReader.Close()

    Console.ReadLine()

  5. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στην επιλογή Έναρξη για να μεταγλωττίσετε και να εκτελέσετε την εφαρμογή. Πιέστε το πλήκτρο ENTER για να κλείσετε το παράθυρο της κονσόλας.

    Το παράθυρο της κονσόλας εμφανίζει το αρχείο Boot.ini. Σημειώστε ότι τα περιεχόμενα του αρχείου Boot.ini μπορεί να διαφέρουν από παραμέτρους ρύθμισης παραμέτρων. Τα παρακάτω δεδομένα εξόδου είναι ένα δείγμα αρχείου Boot.ini:
    [boot loader]
    timeout=5
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Professional" /fastdetect
    C:\ = "Windows 98"

Εγγραφή ενός αρχείου κειμένου (παράδειγμα 1)

Ο κώδικας που ακολουθεί χρησιμοποιεί την κλάση StreamWriter για να ανοίξετε, να γράψει και να κλείσετε το αρχείο κειμένου. Παρόμοια για να StreamReader, μπορείτε να περάσετε το όνομα διαδρομής του αρχείου κειμένου στην κατασκευή StreamWriter για να ανοίξετε το αρχείο αυτόματα. Η μέθοδος WriteLine εγγράφει μια πλήρη γραμμή του κειμένου στο αρχείο κειμένου.
  1. Ξεκινήστε το Visual Studio 2005 ή το Visual Studio .NET.
  2. Δημιουργία νέας εφαρμογής κονσόλας σε Visual Basic 2005 ή Visual Basic .NET.
  3. Προσθέστε τον ακόλουθο κώδικα στην κορυφή της Module1.vb:
    Imports System.IO
  4. Προσθέστε τον ακόλουθο κώδικα στη διαδικασία Sub Main :
    Dim objStreamWriter As StreamWriter    
    'Pass the file path and the file name to the StreamWriter constructor.
    objStreamWriter = New StreamWriter("C:\Testfile.txt")

    'Write a line of text.
    objStreamWriter.WriteLine("Hello World")

    'Write a second line of text.
    objStreamWriter.WriteLine("From the StreamWriter class")

    'Close the file.
    objStreamWriter.Close()

  5. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στην επιλογή Έναρξη για να μεταγλωττίσετε και να εκτελέσετε την εφαρμογή.

    Αυτός ο κώδικας δημιουργεί ένα αρχείο με όνομα Test.txt στη μονάδα δίσκου C. Άνοιγμα Test.txt σε ένα πρόγραμμα επεξεργασίας κειμένου όπως το Σημειωματάριο (Notepad). Test.txt περιέχει δύο γραμμές κειμένου:
    Hello World
    From the StreamWriter class

Εγγραφή ενός αρχείου κειμένου (παράδειγμα 2)

Ο κώδικας που ακολουθεί χρησιμοποιεί την κλάση StreamWriter για να ανοίξετε, να γράψει και να κλείσετε το αρχείο κειμένου. Σε αντίθεση με το προηγούμενο παράδειγμα, αυτός ο κώδικας μεταβιβάζει δύο πρόσθετες παράμετροι στην κατασκευή.

Η πρώτη παράμετρος είναι η διαδρομή του αρχείου και το όνομα αρχείου του αρχείου. Η δεύτερη παράμετρος, True, καθορίζει ότι το αρχείο να ανοίξει σε λειτουργία προσάρτησης. Εάν καθορίσετε
FALSE (ψευδές) για τη δεύτερη παράμετρο, τα περιεχόμενα του αρχείου αντικαθίστανται κάθε φορά που εκτελείτε τον κώδικα. Η τρίτη παράμετρος καθορίζει Unicode ώστε να StreamWriter κωδικοποιεί το αρχείο σε μορφή Unicode. Μπορείτε επίσης να καθορίσετε τις ακόλουθες μεθόδους κωδικοποίησης για την τρίτη παράμετρο:
  • ASCII
  • BigEndianUnicode
  • UTF7
  • UTF8
Τη μέθοδο Write είναι παρόμοια με τη μέθοδο WriteLine , με τη διαφορά ότι η εγγραφή δεν ενσωματώνουν αυτόματα μια χαρακτήρες επαναφοράς/αλλαγής γραμμής (CR/LF) συνδυασμό χαρακτήρων. Αυτό είναι χρήσιμο όταν θέλετε να γράψετε έναν χαρακτήρα κάθε φορά.
  1. Ξεκινήστε το Visual Studio 2005 ή το Visual Studio .NET.
  2. Δημιουργία νέας εφαρμογής κονσόλας σε Visual Basic 2005 ή Visual Basic .NET.
  3. Προσθέστε τον ακόλουθο κώδικα στην κορυφή της Module1.vb:
    Imports System.IOImports System.Text

  4. Προσθέστε τον ακόλουθο κώδικα στη διαδικασία Sub Main κάτω από τον υπάρχοντα κωδικό:
    Dim objStreamWriter As StreamWriter   Dim x As Long

    'Open the file.
    objStreamWriter = New StreamWriter("C:\Test2.txt", True, _
    Encoding.Unicode)

    'Write out the numbers 1 through 10 on the same line.
    For x = 1 To 10
    objStreamWriter.Write(x)
    Next x

    'Close the file.
    objStreamWriter.Close()

  5. Από το μενού Εντοπισμός σφαλμάτων , κάντε κλικ στην επιλογή Έναρξη για να μεταγλωττίσετε και να εκτελέσετε την εφαρμογή.

    Αυτός ο κώδικας δημιουργεί ένα αρχείο που ονομάζεται Test2.txt στη μονάδα δίσκου C. Άνοιγμα Test2.txt σε ένα πρόγραμμα επεξεργασίας κειμένου όπως το Σημειωματάριο (Notepad). Test2.txt περιέχει μία γραμμή κειμένου:
    12345678910

    Σημείωση Εάν εκτελείτε τον κώδικα αρκετές φορές, το κείμενο "123456789" επαναλαμβάνεται στην ίδια γραμμή.

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

'Read a Text FileImports System.IO
Module Module1

Sub Main()
Dim objStreamReader As StreamReader
Dim strLine As String

'Pass the file path and the file name to the StreamReader constructor.
objStreamReader = New StreamReader("C:\Boot.ini")

'Read the first line of text.
strLine = objStreamReader.ReadLine

'Continue to read until you reach the end of the file.
Do While Not strLine Is Nothing

'Write the line to the Console window.
Console.WriteLine(strLine)

'Read the next line.
strLine = objStreamReader.ReadLine
Loop

'Close the file.
objStreamReader.Close()

Console.ReadLine()
End Sub
End Module

'Write a Text File: Version 1
Imports System.IO
Module Module1

Sub Main()
Dim objStreamWriter As StreamWriter

'Pass the file path and the file name to the StreamWriter constructor.
objStreamWriter = New StreamWriter("C:\Text.txt")

'Write a line of text.
objStreamWriter.WriteLine("Hello World")

'Write a second line of text.
objStreamWriter.WriteLine("From the StreamWriter class")

'Close the file.
objStreamWriter.Close()

End Sub
End Module

'Write a Text File: Version 2
Imports System.IO
Imports System.Text
Module Module1

Sub Main()
Dim objStreamWriter As StreamWriter
Dim x As Long

'Open the file.
objStreamWriter = New StreamWriter("C:\Test2.txt", True, _
Encoding.Unicode)

'Write out the numbers 1 through 10 on the same line.
For x = 1 To 10
objStreamWriter.Write(x)
Next x

'Close the file.
objStreamWriter.Close()
End Sub

End Module

Αντιμετώπιση προβλημάτων

Κάθε φορά που εισόδου ή εξόδου ενός αρχείου, είναι καλή προγραμματισμού πρακτική για αναδίπλωση του κώδικα μέσα σε ένα μπλοκ Try-τέλος-δοκιμάστε σε περίπτωση που παρουσιαστεί σφάλμα. Ορισμένα πιθανά σφάλματα περιλαμβάνουν ένα αρχείο που δεν υπάρχει, ή ένα αρχείο που είναι ήδη σε χρήση.

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε τις ακόλουθες τοποθεσίες της Microsoft στο Web:
Πώς μπορώ να κάνω... Ανάγνωση ενός αρχείου κειμένου;
http://msdn.microsoft.com/en-us/library/db5x7c0d.aspx


Πώς μπορώ να κάνω... Ανάγνωση και εγγραφή αρχείων μεγάλο;

http://msdn.microsoft.com/en-us/library/6ka1wd3w(v=vs.80).aspx

Κλάση StreamReader
http://msdn.microsoft.com/en-us/library/system.io.streamreader(v=vs.71).aspx

Κλάση StreamWriter
http://msdn.microsoft.com/en-us/library/system.io.streamwriter(v=vs.71).aspx
Ιδιότητες

Αναγνωριστικό άρθρου: 315828 - Τελευταία αναθεώρηση: 21 Ιαν 2017 - Αναθεώρηση: 2

Σχόλια