본문 바로가기

Program/C# .NET11

[C# WPF] TEXT, CSV File 빠르게 읽기 / 속도 비교 / ReadStream [파일 읽기를 해야 하는 경우] 진행 중인 프로젝트에서 별도의 DB를 사용하지 않는 경우 디바이스의 검사 결과를 별도 파일로 남기고, 해당 파일을 MES나 FDC EES등에서 읽어 결과를 집계해야 되는 경우가 존재한다. 아니면 검사기의 경우 로그로 별도의 검사결과를 남겨야 하는 경우에도 사용될 수 있다. 우선 소개되는 방법에는 읽기 쪽만 소개될 예정이지만 쓰기 쪽도 동일한 방식으로 사용하면 될 것 같다. 아니면 별도 읽기 쓰기 유틸 클래스를 만들어 싱글턴 패턴을 사용하거나 다중 스레드 환경의 경우 전역함수나 정적으로 사용하면 될 것 같다. 거두 절미하고 바로 파일 읽기에 보편적으로 사용되는 방식들을 소개하겠다. [파일 읽기의 방법] 1. ExcelDataReader (ExcelReaderFactory.C.. 2024. 2. 8.
[C#] System.ArgumentException: '경로에 잘못된 문자가 있습니다.' / StreamWrite 로그 작성 파일 저장 [StreamWrite] 잘 돌아가던 프로그램이 갑자기 뻗는다는 연락을 받았다. 예외처리도 어느정도 되어있다고 생각했는데 프로그램이 뻗는 크리티컬한 에러가 발생되었다는게 너무 당황스러웠다. 원인은 얼마전 부사수가 패치한 로그작성 Stream에 있었다. StreamWrite는 System.IO를 참조하면 사용할 수 있는 매서드이다. 뜯어보면 TextWriter를 상속받고 Task Async도 지원한다. 구글에 '텍스트 파일 출력' 이나 '로그작성' 이라고 검색해보면 대부분 Stream 사용을 추천한다. 물론 검증되어있고 사용하기 편리하지만 예외처리는 해주어야한다. 별도 선언 없이도 사용이 가능하고 경로와 데이터만 입력되면 술술 적어주는 장점이 있긴 하지만 예외발생 시 경로가 네트워크 드라이브거나 리소스를 .. 2024. 1. 9.
[C# VB.NET] 숫자 개수 정렬 및 맞추기 / 글자 수 맞추기 / 글자 수 설정하기 [개요] 프로그램 하다보면 비트단위를 맞추거나 Comport로 메시지를 보내거나 PLC와 통신 헤더를 구성하거나 등등 많은일에 포맷을 구성해야되는 작업이 필수로 들어가야 한다. 많은곳에 쓰이지만 자주쓰는건 아니라 기억에 잘 안남는다. 매번 검색하기가 귀찮아 글로 써놓으면 기억이 될까 하여 기록으로 남긴다. 일단 소개할 부분은 정수를 기반으로 작성되었는데 사용법은 크게 다르지 않지만 참고가 될까 하여 소수점 관련 작업 방법도 링크로 남겨놓겠다. [C#] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 using System.Diagnostics; namespace StringFormatCsharp { class Program .. 2024. 1. 3.