c# - Byte 배열과 파일 상호변환


network stream으로 전달받은 byte 배열을 파일로 저장하기 위해 사용한 메소드입니다.
정상 처리시 true를 리턴합니다.

public static bool BytesToFile(byte[] pSourceData, string pDestinationFileName)
{
    FileStream fileStream = null;
    try
    {
        fileStream = new FileStream(pDestinationFileName, FileMode.OpenOrCreate, FileAccess.Write);
        fileStream.Write(pSourceData, 0, pSourceData.Length);  // Data는 byte[]        
        fileStream.Close();
        return true;
    }
    catch
    {
        return false;
    }
    finally
    {
        if (fileStream != null) 
            fileStream.Dispose();
    }
}

 

파일을 network으로 전송하기 위해 byte 배열로 만드는 메소드입니다.
실패시 길이가 0인 Byte[]을 리턴합니다.

public static byte[] FileToBytes(string pSourceFileName)
{
    try
    {
        FileStream fileStream = new FileStream(pSourceFileName, FileMode.Open, FileAccess.Read);

        MemoryStream memoryStream = new MemoryStream();
        memoryStream.SetLength(fileStream.Length);
        fileStream.Read(memoryStream.GetBuffer(), 0, (int)fileStream.Length);
        fileStream.Close();
        return memoryStream.ToArray();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
        return new byte[0];
    }
}

 

광고

댓글 남기기