cari
  • Log masuk
  • Daftar
Penetapan semula kata laluan berjaya

Ikuti proiects vou berminat dengan andi aet terbaru mengenai mereka

Jadual Kandungan
Baca keseluruhan fail sekali gus
Baca baris demi baris
Baca dengan kawalan strim yang jelas
Mengendalikan isu biasa
Rumah pembangunan bahagian belakang Tutorial C#.Net Bagaimana untuk membaca fail teks dalam C#? (Panduan Langkah demi Langkah)

Bagaimana untuk membaca fail teks dalam C#? (Panduan Langkah demi Langkah)

Jan 21, 2026 am 12:16 AM

Gunakan File.ReadAllText() untuk membaca fail penuh yang mudah; File.ReadLines() untuk pemprosesan baris demi baris yang cekap memori; StreamReader untuk kawalan halus. Sentiasa mengendalikan pengecualian dan semak kewujudan fail.

Bagaimana untuk membaca fail teks dalam C#? (Panduan Langkah demi Langkah)

Untuk membaca fail teks dalam C#, gunakan File.ReadAllText() untuk bacaan fail penuh yang ringkas — ia memuatkan keseluruhan kandungan sebagai rentetan dan mengendalikan pengekodan secara automatik.

Baca keseluruhan fail sekali gus

Gunakan File.ReadAllText() apabila anda memerlukan semua teks sekali gus — sesuai untuk fail kecil hingga sederhana (cth, fail konfigurasi, log di bawah ~10 MB). Ia membuka, membaca, menutup dan menyahkod fail menggunakan UTF-8 secara lalai.

  • Panggil File.ReadAllText("path.txt") — mengembalikan kandungan penuh sebagai rentetan
  • Secara pilihan, tentukan pengekodan: File.ReadAllText("path.txt", Pengekodan.UTF8)
  • Bungkus dalam tangkapan cuba untuk mengendalikan fail yang hilang atau ralat akses

Baca baris demi baris

Gunakan File.ReadLines() apabila bekerja dengan fail besar atau apabila anda ingin memproses data secara berperingkat tanpa memuatkan semuanya ke dalam memori.

  • File.ReadLines("path.txt") mengembalikan IEnumerable , jadi baris dibaca atas permintaan
  • Gelung dengan foreach (baris rentetan dalam File.ReadLines("path.txt"))
  • Tidak seperti File.ReadAllLines() , ini tidak memuatkan semua baris ke dalam tatasusunan terlebih dahulu

Baca dengan kawalan strim yang jelas

Gunakan StreamReader apabila anda memerlukan kawalan yang terperinci — seperti membaca ketulan, mengesan pengekodan atau mengendalikan input yang tidak betul.

  • Balut dalam blok penggunaan untuk memastikan pelupusan yang betul: menggunakan (var reader = new StreamReader("path.txt")) { ... }
  • Panggil reader.ReadLine() , reader.ReadToEnd() , atau reader.Read() untuk akses aksara demi aksara
  • Lulus Pengekodan.Lalai atau Pengekodan.UTF8 kepada pembina jika perlu

Mengendalikan isu biasa

Sentiasa jangkakan masalah dunia sebenar — kehilangan fail, kebenaran, pengekodan yang tidak sepadan atau fail terkunci.

  • Semak kewujudan dahulu: if (File.Exists("path.txt")) { ... }
  • Tangkap FileNotFoundException , UnauthorizedAccessException dan IOException
  • Untuk pengekodan yang tidak diketahui, cuba kesan BOM atau kembali ke UTF-8 dengan sandaran ralat: new StreamReader("path.txt", Encoding.UTF8, true)

Atas ialah kandungan terperinci Bagaimana untuk membaca fail teks dalam C#? (Panduan Langkah demi Langkah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat popular

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengesahkan alamat e-mel dalam C#? (Corak regex) Bagaimana untuk mengesahkan alamat e-mel dalam C#? (Corak regex) Mar 08, 2026 am 12:06 AM

Adalah disyorkan untuk menggunakan biasa rasmi ringan Microsoft ^[a-zA-Z0-9._% -] @[a-zA-Z0-9.-] \.[a-zA-Z]{2,}$ untuk pengesahan format e-mel asas, meliputi 99% daripada input sebenar; cara yang lebih dipercayai ialah menggunakan pembina MailAddress dan hanya menangkap FormatException, sambil mengesahkan rentetan null/kosong terlebih dahulu.

Bagaimana untuk memisahkan rentetan dengan pembatas dalam C#? (String.Split) Bagaimana untuk memisahkan rentetan dengan pembatas dalam C#? (String.Split) Mar 12, 2026 am 12:21 AM

Ya, String.Split mengembalikan rentetan kosong secara lalai, menyebabkan item kosong disebabkan oleh pembatas berterusan atau pertama dan terakhir; anda perlu menggunakan StringSplitOptions.RemoveEmptyEntries untuk menapis, atau menapis secara manual; char[] digunakan untuk pemisahan aksara tunggal, dan rentetan[] digunakan untuk pemisahan subrentetan; Span.Split boleh mengelakkan peruntukan; melepasi had atas nombor akan memotong keputusan.

Bagaimana untuk menggunakan sifat dengan get set dalam C#? (Encapsulation) Bagaimana untuk menggunakan sifat dengan get set dalam C#? (Encapsulation) Mar 10, 2026 am 12:33 AM

get/set tidak hanya menambah kurungan, tetapi merangkum titik permulaan: medan eksplisit diperlukan, operasi yang memakan masa dielakkan, ArgumentException dilemparkan apabila pengesahan gagal, pengubah suai akses berbeza disokong, init terhad kepada senario permulaan dan atribut logik pada asasnya ialah kaedah. Perhatian khusus mesti diberikan kepada penyahpepijatan dan prestasi.

Bagaimana untuk menyertai rentetan dengan pemisah dalam C#? (String.Join) Bagaimana untuk menyertai rentetan dengan pemisah dalam C#? (String.Join) Mar 13, 2026 am 12:02 AM

String.Join direka khas untuk penyambungan rentetan. Ia selamat, cekap dan sangat mudah dibaca. Hanya masukkan pembatas dan tatasusunan rentetan, dan elemen nol akan dilangkau secara automatik. Tatasusunan kosong atau null akan mengembalikan rentetan kosong. Pemformatan eksplisit diperlukan untuk mengendalikan jenis bukan rentetan. Dalam senario sensitif prestasi, tatasusunan diluluskan dahulu dan bukannya IEnumerable. StringBuilder sesuai untuk logik yang kompleks.

Bagaimana untuk mengukur masa pelaksanaan dalam C#? (Kelas jam randik) Bagaimana untuk mengukur masa pelaksanaan dalam C#? (Kelas jam randik) Mar 16, 2026 am 12:13 AM

Jam randik.Start() perlu dipanggil untuk kejadian yang tidak dimulakan, jika tidak InvalidOperationException akan dilemparkan; StartNew() ialah kaedah statik yang boleh dibuat dan dimulakan dalam satu langkah, menjadikannya lebih selamat dan lebih biasa digunakan.

Bagaimana untuk mengatasi kaedah ToString dalam C#? (Perwakilan rentetan) Bagaimana untuk mengatasi kaedah ToString dalam C#? (Perwakilan rentetan) Apr 04, 2026 am 12:02 AM

Mengatasi ToString() secara langsung kadangkala tidak berkesan kerana penyahpepijat, penyeri bersiri atau rangka kerja UI boleh memintasnya; public overridestringToString() mesti digunakan untuk mengelakkan pulangan nol dan operasi yang memakan masa, dan memberi perhatian kepada keselamatan benang dan pengendalian nilai nol.

Bagaimana untuk menyemak sama ada rentetan kosong atau batal dalam C#? (String.IsNullOrEmpty) Bagaimana untuk menyemak sama ada rentetan kosong atau batal dalam C#? (String.IsNullOrEmpty) Apr 03, 2026 am 12:02 AM

String.IsNullOrEmpty tidak boleh mengendalikan rentetan kosong. Anda harus memilih String.IsNullOrWhiteSpace mengikut keperluan perniagaan; yang kedua menyokong .NET4.0 dan boleh mengenal pasti dengan tepat semua aksara ruang putih Unicode, dengan prestasi yang lebih rendah sedikit tetapi lebih selamat.

Bagaimana untuk mengalih keluar pendua daripada senarai dalam C#? (Kaedah yang berbeza) Bagaimana untuk mengalih keluar pendua daripada senarai dalam C#? (Kaedah yang berbeza) Mar 29, 2026 am 12:04 AM

Distinct() lalai untuk menyahduplikasi jenis rujukan dengan rujukan dan bukannya nilai; ia perlu melaksanakan IEquatable atau IEqualityComparer, atau menggunakan DistinctBy() (.NET6); ia mengembalikan IEnumerable, pelaksanaan tertunda, dan mesti ditukar kepada koleksi untuk boleh berubah.

Artikel berkaitan