Latest web development tutorials

입력과 출력의 C # 파일

파일이 디스크에 설정된 지정된 이름 및 디렉토리 경로와 데이터 저장이다.파일 판독 및 기록을 위해 개방 될 때,스트림이된다.

기본적으로 말해서, 스트림의 통신 경로를 통해 전송 된 바이트의 시퀀스이다.입력 및 출력 스트림: 두 가지흐름이있다.파일, 파일 (기록) 데이터를 기입하는출력 스트림으로부터 데이터를 판독 (판독)에 대한 입력 스트림.

C # 1 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 클래스는 읽기 및 쓰기하고 파일을 닫습니다 도움이됩니다.이 클래스는 추상 클래스 스트림에서 파생됩니다.

기존 파일을 새 파일을 만들거나 엽니 다FileStream 객체를 만들어야합니다.다음과 같이FileStream 객체 구문은 작성 :

하여 FileStream <OBJECT_NAME> = 새로운하여 FileStream (<FILE_NAME>
<하는 FileMode 열거>, <FileAccess 열거>, <파일 공유 열거>);

예를 들어,F의의 Sample.txt의라는이름의 파일을 읽을 수있는 FileStream 객체를 만듭니다

하여 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
{
    클래스 프로그램
    {
        정적 무효 메인 (문자열 []에 인수)
        {
            하여 FileStream F = 새로운하여 FileStream ( "TEST.DAT" 
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            대한 (INT I = 1; 내가 <= 20; 내가 ++)
            {
                F.WriteByte ((바이트) ⅰ);
            }

            F.Position = 0;

            대한 (INT 나는 = 0; 나는 <= 20; 내가 ++)
            {
                Console.Write (F.ReadByte () + "")를;
            }
            F.Close ();
            Console.ReadKey ();
        }
    }
}

상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를

1,234,567,891,011,121,314 151617181920-1

C # 고급 파일 작업

위의 예는 간단한 C # 파일 작업을 보여줍니다. 그러나 강력한 C #의 System.IO 클래스의 최대한 활용하려면 프로퍼티와 메소드의 이러한 일반적인 클래스를 알 필요가있다.

다음 섹션에서, 우리는이 클래스와 그들이 수행하는 작업에 대해 설명합니다. 지식의 다양한 부분에 대한 자세한 내용은 링크를 클릭 :

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