**스트림(Stream)**은
파일,네트워크,메모리 등 다양한 데이터 소스와 상호작용하는 방식
데이터를 연속적인 흐름 으로 처리하며, 파일을 다룰 때 효율적이고 유연한 방법을 제공
<파일을 다루는 클래스와 메소드>
| 클래스 | 설명 |
| File | 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 정적 메소드를 제공 |
| FileInfo | 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 속성 및 인스턴스 메소드를 제공 |
| FileStream | 파일에 대한 스트림을 제공하여 동기 및 비동기 읽기/쓰기 작업을 모두 지원 |
| StreamReader | 문자열에서 읽어오는 TextReader를 구현함 |
| StreamWriter | TextWriter를 구현하여 특정 인코딩의 스트림에 문자를 씀 |
파일 쓰기 File.WriteAllText
파일 읽기 File.ReadAllText

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Prac
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnRead_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("data.txt"); // 스트림 생성하기
while(!sr.EndOfStream) // 파일의 끝이 아니면 계속 반복
{
rtb.AppendText(sr.ReadLine());
}
MessageBox.Show("파일 읽음");
sr.Close(); // 스트림 닫아주기
}
private void btnWrite_Click(object sender, EventArgs e)
{
StreamWriter sw = new StreamWriter("data.txt");
sw.WriteLine("<<입력내용>>\n");
sw.WriteLine(rtb.Text);
MessageBox.Show("저장됨");
rtb.ResetText();
sw.Close();
}
private void btnOpen_Click(object sender, EventArgs e)
{
rtb.ResetText();
}
}
}'C#' 카테고리의 다른 글
| 반복문 for VS for each 차이 (0) | 2025.10.28 |
|---|---|
| ini 프로그램 (gpt 사용) (0) | 2025.10.27 |
| C# ini 파일 읽기 (0) | 2025.10.27 |
| .ini 파일 (0) | 2025.10.23 |
| 시리얼 통신 (0) | 2025.10.22 |