Stream

    [C# 12와 .NET 8] 9. File, Streams, Serialization

    [C# 12와 .NET 8] 9. File, Streams, Serialization

    Data에 대한 입출력의 대상은 file이나 stream이 될 수 있으며 때로는 text를 encoding 하거나 직렬화할 수 있습니다. 1. File System 관리 Application에서는 종종 다른 환경에서 file이나 directory등으로 입출력 동작을 수행해야 할 경우가 있으며 System 및 System.IO namespace에서는 이러한 목적의 class들을 포함하고 있습니다. (1) cross-platform 환경및 filesystem 우선 cross-platform환경을 처리하는 방법과 Windows와 Linux 또는 macOS사이의 차이점에 대해 알아보고자 합니다. Windows와 macOS 그리고 Linux에서 경로는 다르게 취급되고 있으므로 .NET이 이를 어떻게 처리하는지를 ..

    [C# 11 과 .NET 7] 9. File, Streams, Serialization

    [C# 11 과 .NET 7] 9. File, Streams, Serialization

    Data에 대한 입출력의 대상은 file이나 stream이 될 수 있으며 때로는 text를 encoding 하거나 직렬화할 수 있습니다. 1. File System 관리 Application에서는 종종 다른 환경에서 file이나 directory등으로 입출력 동작을 수행해야 할 경우가 있으며 System 및 System.IO namespace에서는 이러한 목적의 class들을 포함하고 있습니다. (1) cross-platform 환경및 filesystem 우선 cross-platform환경을 처리하는 방법과 Windows와 Linux 또는 macOS사이의 차이점에 대해 알아보고자 합니다. Windows와 macOS 그리고 Linux에서 경로는 다르게 취급되고 있으므로 .NET이 이를 어떻게 처리하는지를 ..

    [C#] File 다루기 - 2. 스트림(Stream) 다루기

    2. 스트림(Stream) 다루기 stream은 byte의 배열입니다. 비록 File은 array처럼 다뤄지기는 하지만 File내부의 byte배열 위치를 통해 임의 접근이 가능하며 이는 순차적인 순서로 처리될 수 있는 byte로서 File을 처리할 수 있는 유용한 방법이 될 수 있습니다. stream은 또한 터미널이나 램덤엑세스를 제공하지 않고 위치를 찾을 수 없는(이동할 수 없는) 소켓과 포트 같은 네트워크 리소스의 입력과 출력에도 사용됩니다. 이때에도 stream자체가 어디에서 왔는지와는 상관없이 임의의 byte를 처리할 수 있는 Code를 작성할 수 있습니다. stream을 대상으로 한 읽기/쓰기를 수행하는 Code자체도 간단하며 byte가 실제 저장되는 곳도 제어할 수 있습니다. (1) Strea..