Latest web development tutorials

Ввод и вывод C # файл

Файл представляет собой хранилище данных с указанным именем и путь к каталогу , установленного на диске.Когда файл открыт для чтения и записи, он становитсяпотоком.

Вообще говоря, поток представляет собой последовательность байтов, передаваемых через канал связи. Существуют два основных потока:потоки вводаивывода.Входной поток для чтения данных (чтение) из файла,выходной потокдля записи данных в файл (запись).

тип C # I / O

System.IO пространство имен имеют различные классы для выполнения различных операций с файлами, такие как создание и удаление файлов, чтения или записи файлов, закрытие файлов.

В следующей таблице перечислены некоторые из имен System.IO обычно используется не-абстрактный класс:

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

Класс FileStream

System.IO пространство имен классовFileStream для чтения и записи и помочь закрыть файл.Этот класс является производным от абстрактного класса Stream.

Вам нужно создать объектFileStream , чтобы создать новый файл или открыть существующий файл.Создает объектFileStream синтаксис выглядит следующим образом :

FileStream <object_name> = новый FileStream (<имя_файла>,
<FileMode Enumerator>, <FileAccess Enumerator>, <Обменник Enumerator>);

Например, создать объект FileStream для чтения файл с именемF sample.txtиз:

FileStream F = новый FileStream ( "sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
参数描述
FileMode

FileMode枚举定义了各种打开文件的方法。FileMode 枚举的成员有:

  • Append:打开一个已有的文件,并将光标放置在文件的末尾。如果文件不存在,则创建文件。
  • Create:创建一个新的文件。如果文件已存在,则删除旧文件,然后创建新文件。
  • CreateNew:指定操作系统应创建一个新的文件。如果文件已存在,则抛出异常。
  • Open:打开一个已有的文件。如果文件不存在,则抛出异常。
  • OpenOrCreate:指定操作系统应打开一个已有的文件。如果文件不存在,则用指定的名称创建一个新的文件打开。
  • Truncate:打开一个已有的文件,文件一旦打开,就将被截断为零字节大小。然后我们可以向文件写入全新的数据,但是保留文件的初始创建日期。如果文件不存在,则抛出异常。
FileAccess

FileAccess枚举的成员有:ReadReadWriteWrite

FileShare

FileShare枚举的成员有:

  • Inheritable:允许文件句柄可由子进程继承。Win32 不直接支持此功能。
  • None:谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。
  • Read:允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • ReadWrite:允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • Delete:允许随后删除文件。

примеров

Следующая программа демонстрирует использование классаFileStream:

с помощью системы;
использованием System.IO;

Пространство имен FileIOApplication
{
    класс программы
    {
        статической силы основных (String [] агдз)
        {
            FileStream F = новый FileStream ( "test.dat", 
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            для (INT I = 1; г <= 20; я ++)
            {
                F.WriteByte ((байт) I);
            }

            F.Position = 0;

            для (INT I = 0; г <= 20; я ++)
            {
                Console.Write (F.ReadByte () + "");
            }
            F.close ();
            Console.ReadKey ();
        }
    }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

1.234.567.891.011.121.314 151617181920-1

C # операции Advanced File

Приведенный выше пример демонстрирует простой операции # файлов C. Однако, чтобы в полной мере воспользоваться C # System.IO класса мощных, вы должны знать эти общие классы свойств и методов.

В следующих разделах мы обсудим эти классы и операции, которые они выполняют. Нажмите на ссылку, чтобы узнать больше о различных частях знаний:

主题描述
文本文件的读写 它涉及到文本文件的读写。StreamReaderStreamWriter类有助于完成文本文件的读写。
二进制文件的读写 它涉及到二进制文件的读写。BinaryReaderBinaryWriter类有助于完成二进制文件的读写。
Windows 文件系统的操作 它让 C# 程序员能够浏览并定位 Windows 文件和目录。