Procedure: Lezen uit tekstbestanden in Visual Basic
Met de ReadAllText methode van het My.Computer.FileSystem
object kunt u lezen uit een tekstbestand. De bestandscodering kan worden opgegeven als de inhoud van het bestand een codering zoals ASCII of UTF-8 gebruikt.
Als u uit een bestand met uitgebreide tekens leest, moet u de bestandscodering opgeven.
Notitie
Als u een bestand één regel tekst tegelijk wilt lezen, gebruikt u de OpenTextFileReader methode van het My.Computer.FileSystem
object. De methode OpenTextFileReader
retourneert een StreamReader-object. U kunt de ReadLine methode van het StreamReader
object gebruiken om een bestand één regel tegelijk te lezen. U kunt testen op het einde van het bestand met behulp van de EndOfStream methode van het StreamReader
object.
Lezen uit een tekstbestand
Gebruik de ReadAllText
methode van het My.Computer.FileSystem
object om de inhoud van een tekstbestand in een tekenreeks te lezen, waarbij het pad wordt opgegeven. In het volgende voorbeeld wordt de inhoud van test.txt in een tekenreeks gelezen en vervolgens weergegeven in een berichtvak.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
MsgBox(fileReader)
Lezen uit een tekstbestand dat is gecodeerd
Gebruik de ReadAllText
methode van het My.Computer.FileSystem
object om de inhoud van een tekstbestand in een tekenreeks te lezen, waarbij het pad en het coderingstype voor bestanden worden opgegeven. In het volgende voorbeeld wordt de inhoud van het UTF32-bestand test.txt in een tekenreeks gelezen en vervolgens weergegeven in een berichtvak.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
Robuuste programmering
De volgende voorwaarden kunnen een uitzondering veroorzaken:
Het pad is om een van de volgende redenen ongeldig: het is een tekenreeks met lengte nul, bevat alleen witruimte, bevat ongeldige tekens of het is een apparaatpad (ArgumentException).
Het pad is ongeldig omdat het (ArgumentNullException) is
Nothing
.Het bestand bestaat niet (FileNotFoundException).
Het bestand wordt gebruikt door een ander proces of er treedt een I/O-fout op (IOException).
Het pad overschrijdt de door het systeem gedefinieerde maximumlengte (PathTooLongException).
Een bestands- of mapnaam in het pad bevat een dubbele punt (:) of heeft een ongeldige indeling (NotSupportedException).
Er is onvoldoende geheugen om de tekenreeks naar buffer (OutOfMemoryException) te schrijven.
De gebruiker beschikt niet over de benodigde machtigingen om het pad (SecurityException) weer te geven.
Neem geen beslissingen over de inhoud van het bestand op basis van de naam van het bestand. Het bestand Form1.vb bijvoorbeeld geen Visual Basic-bronbestand is.
Controleer alle invoerwaarden voordat u de gegevens in uw toepassing gebruikt. De inhoud van het bestand is mogelijk niet wat er wordt verwacht en methoden om uit het bestand te lezen, kunnen mislukken.
Zie ook
- FileSystem
- ReadAllText
- Lezen uit bestanden
- Procedure: Lezen uit door komma's gescheiden tekstbestanden
- Procedure: Lezen uit tekstbestanden met vaste breedte
- Procedure: Lezen uit tekstbestanden met meerdere indelingen
- Problemen oplossen: lezen van en schrijven naar tekstbestanden
- Overzicht: Bestanden en mappen bewerken in Visual Basic
- Bestandscoderingen