C# 파일 입력 및 출력
파일은 지정된 이름과 디렉터리 경로로 디스크에 저장된 데이터 모음입니다. 파일을 읽거나 쓰기 위해 열면 스트림이 됩니다.
기본적으로 스트림은 통신 경로를 통해 전달되는 일련의 바이트입니다. 두 가지 주요 스트림이 있습니다: 입력 스트림과 출력 스트림. 입력 스트림은 파일에서 데이터를 읽는 데 사용되며(읽기 작업) 출력 스트림은 파일에 데이터를 쓰는 데 사용됩니다(쓰기 작업).
C# I/O 클래스
System.IO 네임스페이스에는 파일 생성 및 삭제, 파일 읽기 또는 쓰기, 파일 닫기 등과 같은 다양한 파일 작업을 수행하는 데 사용되는 다양한 클래스가 있습니다.
다음 표에는 System.IO 네임스페이스에서 일반적으로 사용되는 일부 비추상 클래스가 나열되어 있습니다.
I/O 클래스
설명
BinaryReader 바이너리 스트림에서 원시 데이터를 읽습니다.
BinaryWriter 원시 데이터를 바이너리 형식으로 씁니다.
BufferedStream 바이트 스트림의 임시 저장 공간입니다.
디렉토리는 디렉토리 구조를 조작하는 데 도움이 됩니다.
DirectoryInfo는 디렉터리에 대한 작업을 수행하는 데 사용됩니다.
DriveInfo 드라이브 정보를 제공합니다.
파일은 파일 처리에 도움이 됩니다.
FileInfo는 파일에 대한 작업을 수행하는 데 사용됩니다.
FileStream은 파일의 어느 위치에서나 읽고 쓰는 데 사용됩니다.
MemoryStream은 메모리에 저장된 데이터 스트림에 대한 무작위 액세스에 사용됩니다.
Path 경로 정보에 대한 작업을 수행합니다.
StreamReader는 바이트 스트림에서 문자를 읽는 데 사용됩니다.
StreamWriter는 스트림에 문자를 쓰는 데 사용됩니다.
StringReader는 문자열 버퍼를 읽는 데 사용됩니다.
StringWriter는 문자열 버퍼에 쓰는 데 사용됩니다.
FileStream 클래스
System.IO 네임스페이스의 FileStream 클래스는 파일 읽기, 쓰기 및 닫기를 용이하게 합니다. 이 클래스는 추상 클래스 Stream에서 파생됩니다.
새 파일을 만들거나 기존 파일을 열려면 FileStream 개체를 만들어야 합니다. FileStream 객체를 생성하는 구문은 다음과 같습니다.
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
예를 들어, Sample.txt라는 파일을 읽으려면 FileStream 객체 F를 생성합니다.
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
매개변수
설명
FileMode
FileMode 열거형은 파일을 여는 다양한 방법을 정의합니다. FileMode 열거형의 멤버는 다음과 같습니다.
Append: 기존 파일을 열고 파일 끝에 커서를 놓습니다. 파일이 없으면 파일이 생성됩니다.
만들기: 새 파일을 만듭니다. 파일이 이미 존재하는 경우 기존 파일을 삭제하고 새 파일이 생성됩니다.
CreateNew: 운영 체제가 새 파일을 생성하도록 지정합니다. 파일이 이미 존재하는 경우 예외가 발생합니다.
열기: 기존 파일을 엽니다. 파일이 존재하지 않으면 예외가 발생합니다.
OpenOrCreate: 운영 체제가 기존 파일을 열어야 함을 지정합니다. 파일이 존재하지 않으면 지정된 이름으로 새 파일이 생성되어 열립니다.
잘라내기: 기존 파일을 엽니다. 파일이 열리면 0바이트 크기로 잘립니다. 그런 다음 파일에 완전히 새로운 데이터를 쓸 수 있지만 파일의 원래 생성 날짜는 유지됩니다. 파일이 존재하지 않으면 예외가 발생합니다.
FileAccess
FileAccess 열거형의 멤버는 Read, ReadWrite 및 Write입니다.
FileShare
FileShare 열거형의 멤버는 다음과 같습니다.
상속 가능: 파일 핸들을 하위 프로세스에서 상속할 수 있습니다. . Win32는 이 기능을 직접 지원하지 않습니다.
없음: 현재 파일 공유를 거부합니다. 파일 열기 요청(이 프로세스 또는 다른 프로세스의)은 파일이 닫힐 때까지 실패합니다.
읽기: 나중에 읽기 위해 파일을 열 수 있습니다. 이 플래그를 지정하지 않으면 (이 프로세스 또는 다른 프로세스에서) 읽기 위해 파일을 여는 요청은 파일이 닫힐 때까지 실패합니다. 그러나 이 플래그를 지정하더라도 파일에 액세스하려면 추가 권한이 필요할 수 있습니다.
ReadWrite: 이후에 파일을 읽거나 쓰기 위해 열 수 있습니다. 이 플래그를 지정하지 않으면 파일을 읽거나 쓰기 위해(이 프로세스 또는 다른 프로세스에서) 파일을 여는 요청은 파일이 닫힐 때까지 실패합니다. 그러나 이 플래그를 지정하더라도 파일에 액세스하려면 추가 권한이 필요할 수 있습니다.
Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
Delete:允许随后删除文件。
实例
下面的程序演示了 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(); } } }
当上面的代码被编译和执行时,它会产生下列结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
C# 高级文件操作
上面的实例演示了 C# 中简单的文件操作。但是,要充分利用 C# System.IO 类的强大功能,您需要知道这些类常用的属性和方法。
在下面的章节中,我们将讨论这些类和它们执行的操作。请单击链接详细了解各个部分的知识:
主题
描述
文本文件的读写 它涉及到文本文件的读写。StreamReader 和 StreamWriter 类有助于完成文本文件的读写。
二进制文件的读写 它涉及到二进制文件的读写。BinaryReader 和 BinaryWriter 类有助于完成二进制文件的读写。
Windows 文件系统的操作 它让 C# 程序员能够浏览并定位 Windows 文件和目录。
以上就是【c#教程】C# 文件的输入与输出的内容,更多相关内容请关注PHP中文网(www.php.cn)!

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, 및 MACODEDOWS.

C# 및 .NET는 지속적인 업데이트 및 최적화를 통해 신흥 기술의 요구에 적응합니다. 1) C# 9.0 및 .NET5는 레코드 유형 및 성능 최적화를 소개합니다. 2) .NETCORE는 클라우드 네이티브 및 컨테이너화 된 지원을 향상시킵니다. 3) ASP.NETCORE는 최신 웹 기술과 통합됩니다. 4) ML.NET는 기계 학습 및 인공 지능을 지원합니다. 5) 비동기 프로그래밍 및 모범 사례는 성능을 향상시킵니다.

C#.netissuitable forenterprise-levelapplications는 richlibraries, androbustperformance, 그러나 itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical, wherelanguagesslikerustorthightordogrordogrognegrognegrognegrognecross-platformdevelopmentor.

.NET에서 C#의 프로그래밍 프로세스에는 다음 단계가 포함됩니다. 1) C# 코드 작성, 2) 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행됩니다. .NET에서 C#의 장점은 현대적인 구문, 강력한 유형 시스템 및 .NET 프레임 워크와의 긴밀한 통합으로 데스크탑 응용 프로그램에서 웹 서비스에 이르기까지 다양한 개발 시나리오에 적합합니다.

C#은 Microsoft가 개발 한 최신 객체 지향 프로그래밍 언어이며 .NET 프레임 워크의 일부로 개발되었습니다. 1.C#은 캡슐화, 상속 및 다형성을 포함한 객체 지향 프로그래밍 (OOP)을 지원합니다. 2. C#의 비동기 프로그래밍은 응용 프로그램 응답 성을 향상시키기 위해 비동기 및 키워드를 기다리는 키워드를 통해 구현됩니다. 3. LINQ를 사용하여 데이터 컬렉션을 간결하게 처리하십시오. 4. 일반적인 오류에는 NULL 참조 예외 및 인덱스 외 예외가 포함됩니다. 디버깅 기술에는 디버거 사용 및 예외 처리가 포함됩니다. 5. 성능 최적화에는 StringBuilder 사용 및 불필요한 포장 및 Unboxing을 피하는 것이 포함됩니다.

C#.NET 애플리케이션에 대한 테스트 전략에는 단위 테스트, 통합 테스트 및 엔드 투 엔드 테스트가 포함됩니다. 1. 단위 테스트를 통해 MSTEST, NUNIT 또는 XUNIT 프레임 워크를 사용하여 코드의 최소 단위가 독립적으로 작동합니다. 2. 통합 테스트는 일반적으로 사용되는 시뮬레이션 된 데이터 및 외부 서비스를 결합한 여러 장치의 기능을 확인합니다. 3. 엔드 투 엔드 테스트는 사용자의 완전한 작동 프로세스를 시뮬레이션하며 셀레늄은 일반적으로 자동 테스트에 사용됩니다.

C# 수석 개발자와의 인터뷰에는 비동기 프로그래밍, LINQ 및 .NET 프레임 워크의 내부 작업 원리와 같은 핵심 지식을 마스터하는 것이 필요합니다. 1. 비동기 프로그래밍은 비동기를 통해 작업을 단순화하고 응용 프로그램 응답 성을 향상시키기 위해 기다리고 있습니다. 2.linq는 SQL 스타일로 데이터를 운영하고 성능에주의를 기울입니다. 3. Net Framework의 CLR은 메모리를 관리하며 가비지 컬렉션은주의해서 사용해야합니다.

C#.NET 인터뷰 질문 및 답변에는 기본 지식, 핵심 개념 및 고급 사용이 포함됩니다. 1) 기본 지식 : C#은 Microsoft가 개발 한 객체 지향 언어이며 주로 .NET 프레임 워크에 사용됩니다. 2) 핵심 개념 : 위임 및 이벤트는 동적 바인딩 방법을 허용하고 LINQ는 강력한 쿼리 기능을 제공합니다. 3) 고급 사용 : 비동기 프로그래밍은 응답 성을 향상시키고 표현 트리는 동적 코드 구성에 사용됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
