File.ReadAllLines Metod

Definition

Öppnar en textfil, läser alla rader i filen i en strängmatris och stänger sedan filen.

Överlagringar

Name Description
ReadAllLines(String)

Öppnar en textfil, läser alla rader i filen och stänger sedan filen.

ReadAllLines(String, Encoding)

Öppnar en fil, läser alla rader i filen med den angivna kodningen och stänger sedan filen.

ReadAllLines(String)

Öppnar en textfil, läser alla rader i filen och stänger sedan filen.

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()

Parametrar

path
String

Filen som ska öppnas för läsning.

Returer

String[]

En strängmatris som innehåller alla rader i filen.

Undantag

.NET Framework- och .NET Core-versioner som är äldre än 2.1: path är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken med hjälp GetInvalidPathChars() av metoden .

path är null.

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.

Den angivna sökvägen är ogiltig (den finns till exempel på en ommappad enhet).

Ett I/O-fel uppstod när filen öppnades.

Den här åtgärden stöds inte på den aktuella plattformen.

-eller-

path har angett en katalog.

-eller-

Anroparen har inte den behörighet som krävs.

Filen som angavs i path hittades inte.

path är i ett ogiltigt format.

Anroparen har inte den behörighet som krävs.

Exempel

Följande kodexempel visar hur metoden används ReadAllLines för att visa innehållet i en fil. I det här exemplet skapas en fil, om den inte redan finns, och text läggs till i den.

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

Kommentarer

Den här metoden öppnar en fil, läser varje rad i filen och lägger sedan till varje rad som ett element i en strängmatris. Sedan stängs filen. En rad definieras som en sekvens med tecken följt av en vagnretur ("\r", en radmatning ("\n") eller en vagnretur omedelbart följt av en radmatning. Den resulterande strängen innehåller inte den avslutande vagnreturen och/eller radmatningen.

Om filen slutar med en ny rad läggs ingen ytterligare tom rad till i matrisen. En fil som innehåller "line1\nline2\n" skapar till exempel samma matris med två element (["line1", "line2"]) som en fil som innehåller "line1\nline2".

Den här metoden försöker automatiskt identifiera kodningen av en fil baserat på förekomsten av byteordningsmärken. Kodningsformat UTF-8 och UTF-32 (både big-endian och little-endian) kan identifieras.

Se även

Gäller för

ReadAllLines(String, Encoding)

Öppnar en fil, läser alla rader i filen med den angivna kodningen och stänger sedan filen.

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()

Parametrar

path
String

Filen som ska öppnas för läsning.

encoding
Encoding

Kodningen som tillämpas på innehållet i filen.

Returer

String[]

En strängmatris som innehåller alla rader i filen.

Undantag

.NET Framework- och .NET Core-versioner som är äldre än 2.1: path är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken med hjälp GetInvalidPathChars() av metoden .

path är null.

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.

Den angivna sökvägen är ogiltig (den finns till exempel på en ommappad enhet).

Ett I/O-fel uppstod när filen öppnades.

Den här åtgärden stöds inte på den aktuella plattformen.

-eller-

path har angett en katalog.

-eller-

Anroparen har inte den behörighet som krävs.

Filen som angavs i path hittades inte.

path är i ett ogiltigt format.

Anroparen har inte den behörighet som krävs.

Exempel

Följande kodexempel visar hur metoden används ReadAllLines för att visa innehållet i en fil. I det här exemplet skapas en fil, om den inte redan finns, och text läggs till i den.

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

Kommentarer

Den här metoden öppnar en fil, läser varje rad i filen och lägger sedan till varje rad som ett element i en strängmatris. Sedan stängs filen. En rad definieras som en sekvens med tecken följt av en vagnretur ("\r", en radmatning ("\n") eller en vagnretur omedelbart följt av en radmatning. Den resulterande strängen innehåller inte den avslutande vagnreturen och/eller radmatningen.

Om filen slutar med en ny rad läggs ingen ytterligare tom rad till i matrisen. En fil som innehåller "line1\nline2\n" skapar till exempel samma matris med två element (["line1", "line2"]) som en fil som innehåller "line1\nline2".

Den här metoden försöker automatiskt identifiera kodningen av en fil baserat på förekomsten av byteordningsmärken. Kodningsformat UTF-8 och UTF-32 (både big-endian och little-endian) kan identifieras.

Se även

Gäller för