파일을 읽고 쓸려면 File 클래스를 사용하면 된다.
https://docs.microsoft.com/ko-kr/dotnet/api/system.io.file?view=net-5.0
기본적인 내용은 위 경로를 읽어보자.
파일이나 DB 또는 네트워크로 데이터를 전송할때 대부분의 경우 내용을 변환해서 서로 주고 받게 되는데 이과정에서 데이터가 변환되는것을 직렬화(Serialization) , 역직렬화(deserialization) 또는 마샬링(marshalling) 이라고 한다.
직렬화는 CSV, XML, JSON, binary 등 여러가지로 할수 있는데 csv,xml,json 같은경우는 사람이 읽을수 있는대신 저장공간 효율이 떨어지고 변환하는데 시간이 오래 걸린다.
https://ko.wikipedia.org/wiki/%EB%A7%88%EC%83%AC%EB%A7%81_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)
직렬화나 마샬링은 언어나 사람마다 이야기하는 의미가 상당히 차이가 있는데 전체적인 내용은 다음 그림1으로 이해하도록하자.
파일도 위와 같은 형태로 전송된다고 생각하면된다.
<예제>
string path = @"c:\temp\MyTest.txt";
string alltext = "";
if(File.Exists(path))
{
using(StreamReader sr = new StreamReader(path))
{
alltext = sr.ReadToEnd();
}
}
간단한 예제를 만들었는데 File 클래스를 사용해야하니 System.IO 를 using 해야하고 파일이 존재하는지 체크한후 파일의 내용을 읽어서 alltext 에 담는 예제이다.
파일에 데이터를 쓸경우는 어떻게 하면 될지 개인적으로 찾아보자.
위에서 이야기한 직렬화는 다른 언어와 연동하거나 할때 오류메세지 등에서 상당히 자주보게 될것이므로 위내용은 꼭 알아두자.
***숙제 : 두개의 txt 파일을 합쳐서 하나의 txt 로 만들어주는 프로그램을 만들어보자.
텍스트박스는 readonly 이며 파일경로버튼으로 파일을 선택하면 텍스트박스에 파일명이 표시되야한다.
파일합치기를 누르면 두개의 파일 문자열이 합쳐진 파일이 정해진경로에 생성되면된다.
'[ Program ] > c#스터디' 카테고리의 다른 글
47. 유즈케이스 (0) | 2021.10.09 |
---|---|
46. 엑셀파일읽기 (0) | 2021.10.09 |
44. 로또생성기만들기 (0) | 2021.10.09 |
43. 제네릭 (0) | 2021.10.09 |
42. 상속 (0) | 2021.10.09 |
댓글