Tutorial C#login
Tutorial C#
pengarang:php.cn  masa kemas kini:2022-04-11 14:06:23

Input dan output fail C#



fail ialah koleksi data yang disimpan pada cakera dengan nama dan laluan direktori yang ditentukan. Apabila fail dibuka untuk membaca atau menulis, ia menjadi strim.

Pada asasnya, strim ialah jujukan bait yang dilalui melalui laluan komunikasi. Terdapat dua strim utama: strim input dan strim output. Strim input digunakan untuk membaca data daripada fail (operasi baca), dan Strim output digunakan untuk menulis data pada fail (operasi tulis).

C# I/O Classes

System.IO namespace mempunyai pelbagai kelas berbeza untuk melaksanakan pelbagai operasi fail seperti membuat dan memadam fail, membaca atau menulis Import fail, menutup fail, dsb.

Jadual berikut menyenaraikan beberapa kelas bukan abstrak yang biasa digunakan dalam ruang nama System.IO:

I/O 类描述
BinaryReader从二进制流读取原始数据。
BinaryWriter以二进制格式写入原始数据。
BufferedStream字节流的临时存储。
Directory有助于操作目录结构。
DirectoryInfo用于对目录执行操作。
DriveInfo提供驱动器的信息。
File有助于处理文件。
FileInfo用于对文件执行操作。
FileStream用于文件中任何位置的读写。
MemoryStream用于随机访问存储在内存中的数据流。
Path对路径信息执行操作。
StreamReader用于从字节流中读取字符。
StreamWriter用于向一个流中写入字符。
StringReader用于读取字符串缓冲区。
StringWriter用于写入字符串缓冲区。

Kelas FileStream

Kelas FileStream dalam ruang nama System.IO memudahkan pembacaan, penulisan dan penutupan fail. Kelas ini diperoleh daripada aliran kelas abstrak.

Anda perlu mencipta objek FileStream untuk mencipta fail baharu atau membuka fail sedia ada. Sintaks untuk mencipta objek FileStream adalah seperti berikut:

FileStream <object_name> = new FileStream( <file_name>,
<FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);

Contohnya, cipta objek FileStream F untuk membaca fail bernama sample.txt:

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
ParameterPenerangan
Mod Fail

FileMode Penghitungan mentakrifkan pelbagai kaedah untuk membuka fail. Ahli penghitungan FileMode ialah:

  • Tambah: Buka fail sedia ada dan letakkan kursor di hujung fail. Jika fail tidak wujud, fail itu dibuat.

  • Buat: Cipta fail baharu. Jika fail sudah wujud, fail lama akan dipadamkan dan fail baharu dibuat.

  • CreateNew: Menentukan bahawa sistem pengendalian harus mencipta fail baharu. Jika fail sudah wujud, pengecualian akan dilemparkan.

  • Buka: Buka fail sedia ada. Jika fail tidak wujud, pengecualian akan dilemparkan.

  • OpenOrCreate: Menentukan bahawa sistem pengendalian harus membuka fail sedia ada. Jika fail itu tidak wujud, fail baharu dibuat dengan nama yang ditentukan dan dibuka.

  • Truncate: Buka fail sedia ada Setelah fail dibuka, ia akan dipotong kepada saiz sifar bait. Kami kemudiannya boleh menulis data baharu sepenuhnya pada fail tetapi mengekalkan tarikh penciptaan asal fail tersebut. Jika fail tidak wujud, pengecualian akan dilemparkan.

FileAccess

FileAccess Ahli-ahli penghitungan ialah: Baca, BacaTulis dan Tulis.

FileShare

FileShare Ahli-ahli penghitungan ialah:

  • Dapat diwarisi: Membenarkan pemegang fail diwarisi oleh proses anak. Win32 tidak menyokong ciri ini secara langsung.

  • Tiada: Tolak untuk berkongsi fail semasa. Sebarang permintaan untuk membuka fail (daripada proses ini atau proses lain) akan gagal sehingga fail ditutup.

  • Baca: Membenarkan pembukaan fail seterusnya untuk dibaca. Jika bendera ini tidak dinyatakan, sebarang permintaan untuk membuka fail untuk dibaca (daripada proses ini atau proses lain) akan gagal sehingga fail ditutup. Walau bagaimanapun, walaupun bendera ini dinyatakan, kebenaran tambahan mungkin diperlukan untuk mengakses fail.

  • ReadWrite: Membenarkan fail dibuka kemudiannya untuk dibaca atau ditulis. Jika bendera ini tidak dinyatakan, sebarang permintaan untuk membuka fail untuk membaca atau menulis (daripada proses ini atau proses lain) akan gagal sehingga fail ditutup. Walau bagaimanapun, walaupun bendera ini dinyatakan, kebenaran tambahan mungkin diperlukan untuk mengakses fail.

  • Tulis: Membenarkan pembukaan fail seterusnya untuk menulis. Jika bendera ini tidak dinyatakan, sebarang permintaan untuk membuka fail untuk menulis (daripada proses ini atau proses lain) akan gagal sehingga fail ditutup. Walau bagaimanapun, walaupun bendera ini dinyatakan, kebenaran tambahan mungkin diperlukan untuk mengakses fail.

  • Padam: Membenarkan pemadaman seterusnya fail.

Contoh

Atur cara berikut menunjukkan penggunaan kelas FileStream:

using System;
using System.IO;

namespace FileIOApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream F = new FileStream("test.dat", 
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            for (int i = 1; i <= 20; i++)
            {
                F.WriteByte((byte)i);
            }

            F.Position = 0;

            for (int i = 0; i <= 20; i++)
            {
                Console.Write(F.ReadByte() + " ");
            }
            F.Close();
            Console.ReadKey();
        }
    }
}

Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

C# Operasi Fail Lanjutan

Contoh di atas menunjukkan operasi fail mudah dalam C#. Walau bagaimanapun, untuk memanfaatkan sepenuhnya kuasa kelas C# System.IO, anda perlu mengetahui sifat dan kaedah yang biasa digunakan oleh kelas ini.

Dalam bahagian berikut, kita akan membincangkan kelas ini dan operasi yang dilakukannya. Sila klik pada pautan untuk mengetahui lebih lanjut tentang setiap bahagian:

TopikPenerangan
主题描述
文本文件的读写它涉及到文本文件的读写。StreamReaderStreamWriter 类有助于完成文本文件的读写。
二进制文件的读写它涉及到二进制文件的读写。BinaryReaderBinaryWriter 类有助于完成二进制文件的读写。
Windows 文件系统的操作它让 C# 程序员能够浏览并定位 Windows 文件和目录。
Membaca dan menulis fail teks
Ia melibatkan teks Membaca dan menulis fail. Kelas
StreamReader<🎜> dan <🎜>StreamWriter<🎜> membantu dalam membaca dan menulis fail teks. <🎜><🎜>Membaca dan menulis fail binari<🎜>Ia melibatkan membaca dan menulis fail binari. Kelas <🎜>BinaryReader<🎜> dan <🎜>BinaryWriter<🎜> membantu dalam membaca dan menulis fail binari. <🎜><🎜>Operasi Sistem Fail Windows<🎜>Ia membolehkan pengaturcara C# menyemak imbas dan mencari fail dan direktori Windows. <🎜><🎜><🎜><🎜><🎜><🎜>

Laman web PHP Cina