File.ReadLines Metode

Definisi

Membaca baris file.

Overload

Nama Deskripsi
ReadLines(String, Encoding)

Baca baris file yang memiliki pengodean tertentu.

ReadLines(String)

Membaca baris file.

ReadLines(String, Encoding)

Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs

Baca baris file yang memiliki pengodean tertentu.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ ReadLines(System::String ^ path, System::Text::Encoding ^ encoding);
public static System.Collections.Generic.IEnumerable<string> ReadLines(string path, System.Text.Encoding encoding);
static member ReadLines : string * System.Text.Encoding -> seq<string>
Public Shared Function ReadLines (path As String, encoding As Encoding) As IEnumerable(Of String)

Parameter

path
String

File yang akan dibaca.

encoding
Encoding

Pengodean yang diterapkan ke konten file.

Mengembalikan

Semua baris file, atau baris yang merupakan hasil kueri.

Pengecualian

.NET Framework dan versi .NET Core yang lebih lama dari 2.1: adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid seperti yang didefinisikan oleh metode />

path adalah null.

path tidak valid (misalnya, ada di drive yang tidak dipetakan).

File yang ditentukan oleh path tidak ditemukan.

Terjadi kesalahan I/O saat membuka file.

path melebihi panjang maksimum yang ditentukan sistem.

Pemanggil tidak memiliki izin yang diperlukan.

path menentukan file yang bersifat baca-saja.

-atau-

Operasi ini tidak didukung pada platform saat ini.

-atau-

path adalah direktori.

-atau-

Pemanggil tidak memiliki izin yang diperlukan.

Keterangan

Gunakan metode ini untuk menentukan pengodean untuk menggunakan baca file.

Metode ReadLines dan ReadAllLines berbeda sebagai berikut: Ketika Anda menggunakan ReadLines, Anda dapat mulai menghitung koleksi string sebelum seluruh koleksi dikembalikan. Saat Anda menggunakan ReadAllLines, Anda harus menunggu seluruh array string dikembalikan sebelum Anda dapat mengakses array. Oleh karena itu, ketika Anda bekerja dengan file yang sangat besar, ReadLines bisa lebih efisien.

Anda dapat menggunakan ReadLines metode untuk melakukan hal berikut:

Garis didefinisikan sebagai urutan karakter yang dihentikan oleh pengembalian pengangkutan ('\r'), umpan baris ('\n'), pengembalian pengangkutan segera diikuti oleh umpan baris, atau akhir file atau aliran. Jika file berakhir dengan urutan baris baru, tidak ada baris kosong tambahan yang dikembalikan. Misalnya, file yang berisi "line1\nline2\n" menghasilkan dua baris yang sama ("line1" dan "line2") sebagai file yang berisi "line1\nline2".

Berlaku untuk

ReadLines(String)

Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs
Sumber:
File.cs

Membaca baris file.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ ReadLines(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> ReadLines(string path);
static member ReadLines : string -> seq<string>
Public Shared Function ReadLines (path As String) As IEnumerable(Of String)

Parameter

path
String

File yang akan dibaca.

Mengembalikan

Semua baris file, atau baris yang merupakan hasil kueri.

Pengecualian

versi .NET Framework dan .NET Core yang lebih lama dari 2.1: adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid yang ditentukan oleh metode />

path adalah null.

path tidak valid (misalnya, ada di drive yang tidak dipetakan).

File yang ditentukan oleh path tidak ditemukan.

Terjadi kesalahan I/O saat membuka file.

path melebihi panjang maksimum yang ditentukan sistem.

Pemanggil tidak memiliki izin yang diperlukan.

path menentukan file yang bersifat baca-saja.

-atau-

Operasi ini tidak didukung pada platform saat ini.

-atau-

path adalah direktori.

-atau-

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut membaca baris file untuk menemukan baris yang berisi string tertentu.

foreach (string line in File.ReadLines(@"d:\data\episodes.txt"))
{
    if (line.Contains("episode") & line.Contains("2006"))
    {
        Console.WriteLine(line);
    }
}
for line in File.ReadLines @"d:\data\episodes.txt" do
    if line.Contains "episode" && line.Contains "2006" then
        printfn $"{line}"
For Each line As String In File.ReadLines("d:\data\episodes.txt")
    If line.Contains("episode") And line.Contains("2006") Then
        Console.WriteLine(line)
    End If
Next line

Contoh berikut menggunakan metode ReadLines dalam kueri LINQ yang menghitung semua direktori untuk file yang memiliki ekstensi .txt, membaca setiap baris file, dan menampilkan baris jika berisi string "Microsoft".

using System;
using System.IO;
using System.Linq;

partial class Example2
{
    static void SearchOptionExample()
    {
        try
        {
            // Set a variable to the My Documents path.
            string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            var files = from file in Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
                        from line in File.ReadLines(file)
                        where line.Contains("Microsoft")
                        select new
                        {
                            File = file,
                            Line = line
                        };

            foreach (var f in files)
            {
                Console.WriteLine($"{f.File}\t{f.Line}");
            }

            Console.WriteLine($"{files.Count()} files found.");
        }
        catch (UnauthorizedAccessException uAEx)
        {
            Console.WriteLine(uAEx.Message);
        }
        catch (PathTooLongException pathEx)
        {
            Console.WriteLine(pathEx.Message);
        }
    }
}
open System
open System.IO

try
    // Set a variable to the My Documents path.
    let docPath =
        Environment.GetFolderPath Environment.SpecialFolder.MyDocuments

    let files =
        query {
            for file in Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories) do
            for line in File.ReadLines file do
            where (line.Contains "Microsoft")
            select {| File = file; Line = line |}
        }

    for f in files do
        printfn $"{f.File}\t{f.Line}"
    printfn $"{Seq.length files} files found."

with
| :? UnauthorizedAccessException as uAEx -> printfn $"{uAEx.Message}"
| :? PathTooLongException as pathEx -> printfn $"{pathEx.Message}"
Imports System.IO
Imports System.Xml.Linq

Partial Class Example2
    Shared Sub SearchOptionExample()

        Try
            Dim docPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

            Dim files = From chkFile In Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
                        From line In File.ReadLines(chkFile)
                        Where line.Contains("Microsoft")
                        Select New With {.curFile = chkFile, .curLine = line}

            For Each f In files
                Console.WriteLine($"{f.curFile}\t{f.curLine}")
            Next

            Console.WriteLine($"{files.Count} files found.")
        Catch uAEx As UnauthorizedAccessException
            Console.WriteLine(uAEx.Message)
        Catch pathEx As PathTooLongException
            Console.WriteLine(pathEx.Message)
        End Try

    End Sub
End Class

Keterangan

Metode ReadLines dan ReadAllLines berbeda sebagai berikut: Ketika Anda menggunakan ReadLines, Anda dapat mulai menghitung koleksi string sebelum seluruh koleksi dikembalikan; ketika Anda menggunakan ReadAllLines, Anda harus menunggu seluruh array string dikembalikan sebelum Anda dapat mengakses array. Oleh karena itu, ketika Anda bekerja dengan file yang sangat besar, ReadLines bisa lebih efisien.

Anda dapat menggunakan ReadLines metode untuk melakukan hal berikut:

Metode ini menggunakan UTF8 untuk nilai pengodean.

Garis didefinisikan sebagai urutan karakter diikuti dengan pengembalian pengangkutan ('\r'), umpan baris ('\n'), atau pengembalian pengangkutan segera diikuti oleh umpan baris, atau sebagai urutan akhir karakter dalam file atau aliran jika berakhir tanpa urutan baris baru. Jika file berakhir dengan urutan baris baru, tidak ada baris kosong tambahan yang dikembalikan. Misalnya, file yang berisi "line1\nline2\n" menghasilkan dua baris yang sama ("line1" dan "line2") sebagai file yang berisi "line1\nline2".

Berlaku untuk