[C#] 파일 입출력
반응형
파일 입출력을 위해 FileStream 을 사용해줘야 한다.
FileSream 객체는 인스턴스화 할때 옵션을 정할 수 있는데
옵션은 아래와 같다
// 덧붙이기 ( 없으면 생성)
FileMode.Append
// 새로생성 ( 이미 있는경우 IOException 발생)
FileMode.Create
// 새로생성 ( 덮어쓰기 , 문제 있다)
FileMode.CreateNew
// 열기 (없으면 FileNotFoundException 발생)
FileMode.Open
// 열기 (없으면 생성)
FileMode.OpenOrCreate
//파일을 비우고 열기
FileMode.Truncate
FileStream fs - new FileStream("log.txt", FileMode.Append)
log파일은 계속해서 추가되어야 하므로 append를 선택
해당 파일에 추가하기 위해
string first_line = $"[COMPANY_NAME{"]",-5} {"[",5}TABLE_NAME{"]",-5} {"[",5}COLUMN_NAME{"]",-5} {"[",5}ACTION{"]",-5} {"[",5}ISC{"]",-5} {"[",5}TEXT{"]",-5}";
//파일 IO추가 ( 로그파일 )
FileStream fs = new FileStream(logFileName, FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
if(fs.Length == 0)
{
sw.WriteLine(first_line);
}
sw.WriteLine($"[{dr["COMPANY_NAME"].ToString()}{"]",-5} " +
$"{"[",5}{dr["TABLE_NAME"].ToString()}{"]",-5}" +
$" {"[",5}{dr["COLUMN_NAME"].ToString()}{"]",-5} " +
$"{"[",5}{dr["ACTION"].ToString()}{"]",-5}" +
$" {"[",5}{( dr["ISC"].ToString() == "Y" ? "성공" : "실패")}{"]",-5} " +
$"{"[",5}{dr["TEXT"].ToString()}{"]",-5}" );
sw.Flush();
sw.Close();
fs.Close();
로그처럼 보이게 하려고 형식이랑 좀 넣엇는데
string 크기제한을 거는 방법을 모르겠어서 패스..
이부분을 해야할듯
아무튼 StreamWriter를 사용해서 읽고 추가하면 됨.
반응형
'Study > C#' 카테고리의 다른 글
[C#] Sealed (0) | 2022.04.12 |
---|---|
[C#] C#에서 POST방식으로 특정 URL로 데이터 전송 (0) | 2022.04.07 |
[C#] C#에서 DataTable 을 JSON으로 변경 (0) | 2022.04.07 |
[C#] Oracle 연결해서 써먹기 (0) | 2021.04.23 |
[C#] C#에서의 배열 (0) | 2021.03.04 |
댓글