내 프로그램 외부에서 생성 된 이진 파일을 읽고 싶습니다. C#에서 이진 파일을 읽는 한 가지 분명한 방법은 파일을 나타내는 클래스를 정의한 다음 BinaryReader를 사용하고 Read * 메서드를 통해 파일을 읽은 다음 반환 값을 클래스 속성에 할당하는 것입니다.C#의 BinaryFormatter는 파일을 읽는 좋은 방법입니까?
내가 싫어하는 것은 파일을 읽는 코드를 직접 작성해야한다는 것입니다. 정의 된 구조는 파일 저장 방법을 나타냅니다. 나는 또한 읽을 때 정확한 순서를 지켜야한다.
주위를 조금 둘러 본 후에는 바이너리 형식으로 객체를 자동으로 직렬화 및 비 직렬화 할 수있는 BinaryFormatter를 발견했습니다. 한 가지 큰 이점은 추가 코드를 만들지 않고도 파일을 읽고 작성할 수 있다는 것입니다. 그러나이 접근 방식이 직렬화 된 .NET 개체가 아닌 다른 프로그램에서 만들어진 파일에 적합한 지 궁금합니다. 예를 들어 BMP와 같은 그래픽 형식 파일을 생각해보십시오. BinaryFormatter로 파일을 읽는 것이 좋을지 아니면 BinaryReader 및 BinaryWriter를 통해 수동으로 작성하고 쓰는 것이 더 낫습니까? 아니면 더 나은 다른 접근법이 있습니까? 저는 구체적인 예를 찾는 것이 아니라 단지 그것을 구현하는 가장 좋은 방법은 무엇인지 조언을 구하는 것입니다.