File.ReadAllLines Methode

Definitie

Hiermee opent u een tekstbestand, leest u alle regels van het bestand in een tekenreeksmatrix en sluit u het bestand.

Overloads

Name Description
ReadAllLines(String)

Hiermee opent u een tekstbestand, leest u alle regels van het bestand en sluit u het bestand.

ReadAllLines(String, Encoding)

Hiermee opent u een bestand, leest u alle regels van het bestand met de opgegeven codering en sluit u het bestand.

ReadAllLines(String)

Hiermee opent u een tekstbestand, leest u alle regels van het bestand en sluit u het bestand.

public:
 static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path);
public static string[] ReadAllLines(string path);
static member ReadAllLines : string -> string[]
Public Shared Function ReadAllLines (path As String) As String()

Parameters

path
String

Het bestand dat moet worden geopend om te lezen.

Retouren

String[]

Een tekenreeksmatrix met alle regels van het bestand.

Uitzonderingen

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

path is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Er is een I/O-fout opgetreden tijdens het openen van het bestand.

Deze bewerking wordt niet ondersteund op het huidige platform.

– of –

path een map opgegeven.

– of –

De beller heeft niet de vereiste machtiging.

Het opgegeven path bestand is niet gevonden.

path heeft een ongeldige indeling.

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe de ReadAllLines methode wordt gebruikt om de inhoud van een bestand weer te geven. In dit voorbeeld wordt er een bestand gemaakt, als het nog niet bestaat en wordt er tekst aan toegevoegd.

using System;
using System.IO;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
open System
open System.IO

let path = @"c:\temp\MyTest.txt"

// This text is added only once to the file.
if File.Exists path |> not then
    // Create a file to write to.
    let createText = [ "Hello"; "And"; "Welcome" ]
    File.WriteAllLines(path, createText)

// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
    "This is extra text" + Environment.NewLine

File.AppendAllText(path, appendText)

// Open the file to read from.
let readText = File.ReadAllLines path

for s in readText do
    printfn $"{s}"
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Opmerkingen

Met deze methode wordt een bestand geopend, wordt elke regel van het bestand gelezen en vervolgens elke regel toegevoegd als een element van een tekenreeksmatrix. Het bestand wordt vervolgens gesloten. Een regel wordt gedefinieerd als een reeks tekens gevolgd door een regelterugloop ('\r'), een regelinvoer ('\n'), of een regelterugloop direct gevolgd door een regelinvoer. De resulterende tekenreeks bevat geen eindsleeding en/of regelinvoer.

Als het bestand eindigt met een nieuwe regelreeks, wordt er geen extra lege regel toegevoegd aan de matrix. Een bestand dat bijvoorbeeld dezelfde matrix met "line1\nline2\n" twee elementen (["line1", "line2"]) produceert als een bestand met "line1\nline2".

Deze methode probeert automatisch de codering van een bestand te detecteren op basis van de aanwezigheid van bytevolgordemarkeringen. Coderingsindelingen UTF-8 en UTF-32 (zowel big-endian als little-endian) kunnen worden gedetecteerd.

Zie ook

Van toepassing op

ReadAllLines(String, Encoding)

Hiermee opent u een bestand, leest u alle regels van het bestand met de opgegeven codering en sluit u het bestand.

public:
 static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path, System::Text::Encoding ^ encoding);
public static string[] ReadAllLines(string path, System.Text.Encoding encoding);
static member ReadAllLines : string * System.Text.Encoding -> string[]
Public Shared Function ReadAllLines (path As String, encoding As Encoding) As String()

Parameters

path
String

Het bestand dat moet worden geopend om te lezen.

encoding
Encoding

De codering die is toegepast op de inhoud van het bestand.

Retouren

String[]

Een tekenreeksmatrix met alle regels van het bestand.

Uitzonderingen

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

path is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Er is een I/O-fout opgetreden tijdens het openen van het bestand.

Deze bewerking wordt niet ondersteund op het huidige platform.

– of –

path een map opgegeven.

– of –

De beller heeft niet de vereiste machtiging.

Het opgegeven path bestand is niet gevonden.

path heeft een ongeldige indeling.

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe de ReadAllLines methode wordt gebruikt om de inhoud van een bestand weer te geven. In dit voorbeeld wordt er een bestand gemaakt, als het nog niet bestaat en wordt er tekst aan toegevoegd.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText, Encoding.UTF8);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path, Encoding.UTF8);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
open System
open System.IO
open System.Text

let path = @"c:\temp\MyTest.txt"

// This text is added only once to the file.
if File.Exists path |> not then
    // Create a file to write to.
    let createText = [ "Hello"; "And"; "Welcome" ]
    File.WriteAllLines(path, createText, Encoding.UTF8)

// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
    "This is extra text" + Environment.NewLine

File.AppendAllText(path, appendText, Encoding.UTF8)

// Open the file to read from.
let readText = File.ReadAllLines(path, Encoding.UTF8)

for s in readText do
    printfn $"{s}"
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText, Encoding.UTF8)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText, Encoding.UTF8)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path, Encoding.UTF8)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Opmerkingen

Met deze methode opent u een bestand, leest u elke regel van het bestand en voegt u elke regel toe als element van een tekenreeksmatrix. Het bestand wordt vervolgens gesloten. Een regel wordt gedefinieerd als een reeks tekens gevolgd door een regelterugloop ('\r'), een regelinvoer ('\n'), of een regelterugloop direct gevolgd door een regelinvoer. De resulterende tekenreeks bevat geen eindsleeding en/of regelinvoer.

Als het bestand eindigt met een nieuwe regelreeks, wordt er geen extra lege regel toegevoegd aan de matrix. Een bestand dat bijvoorbeeld dezelfde matrix met "line1\nline2\n" twee elementen (["line1", "line2"]) produceert als een bestand met "line1\nline2".

Deze methode probeert automatisch de codering van een bestand te detecteren op basis van de aanwezigheid van bytevolgordemarkeringen. Coderingsindelingen UTF-8 en UTF-32 (zowel big-endian als little-endian) kunnen worden gedetecteerd.

Zie ook

Van toepassing op