File.ReadLines Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
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:
- Lakukan kueri LINQ ke Objek pada file untuk mendapatkan sekumpulan baris yang difilter.
- Tulis kumpulan baris yang dikembalikan ke file dengan File.WriteAllLines(String, IEnumerable<String>, Encoding) metode , atau tambahkan ke file yang ada dengan File.AppendAllLines(String, IEnumerable<String>, Encoding) metode .
- Buat instans koleksi yang segera diisi yang mengambil IEnumerable<T> kumpulan string untuk konstruktornya, seperti IList<T> atau Queue<T>.
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:
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:
- Lakukan kueri LINQ ke Objek pada file untuk mendapatkan sekumpulan baris yang difilter.
- Tulis kumpulan baris yang dikembalikan ke file dengan File.WriteAllLines(String, IEnumerable<String>) metode , atau tambahkan ke file yang ada dengan File.AppendAllLines(String, IEnumerable<String>) metode .
- Buat instans koleksi yang segera diisi yang mengambil IEnumerable<T> kumpulan string untuk konstruktornya, seperti IList<T> atau Queue<T>.
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".