GZipStream의 압축을 푸는 중입니다. 문제는 스트림의 길이 속성이 "NotSupported"예외를 throw한다는 것입니다. 스트림에서 바이트를 읽을 때 버퍼를 만들 크기를 어떻게 알 수 있습니까? 압축 되었기 때문에 압축되지 않은 버전이 얼마나 큰지는 알 수 없습니다. 어떤 제안?GzipStream을 사용할 때 버퍼 크기를 어떻게 결정합니까?
0
A
답변
4
왜 필요한가요?
public static byte[] Decompress(this byte[] data)
{
var ms = new MemoryStream(data);
var s = new GZipStream(ms, CompressionMode.Decompress);
var output = new MemoryStream();
byte[] buffer = new byte[8192];
int read = 0;
while ((read = s.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
return output.ToArray();
}
0
당신이 무엇을 할 것인지에 따라 압축되지 않은 내용을 MemoryStream 또는 FileStream에 쓸 수 있습니다. 그들은 둘 다 필요에 따라 버퍼를 확장하도록 설정할 수 있습니다.
또한 MemoryStream에는 내용을 바이트 배열로 추출하는 ToArray 메서드가 있습니다.
관련 문제
- 1. 프로그래밍 방식으로 바탕 화면의 크기를 어떻게 결정합니까?
- 2. 안드로이드 - 표시되지 않을 때 ViewFlipper 자식 크기를 어떻게 결정합니까?
- 3. GLOrtho를 사용할 때 어떻게 선의 크기를 조절합니까?
- 4. Ruby에서 메서드와 클래스의 크기를 어떻게 결정합니까?
- 5. MySQL에서 최대 트랜잭션 크기를 어떻게 결정합니까?
- 6. 런타임시 .NET listview의 크기를 어떻게 결정합니까?
- 7. SmtpClient는 localhost가 지정 될 때 사용할 메일 서버를 어떻게 결정합니까?
- 8. 페이지에서 컨트롤을 사용할 수 있는지 어떻게 결정합니까?
- 9. 어떤 ORM을 사용할 지 어떻게 결정합니까?
- 10. OpenGL은 사용할 밉 레벨을 어떻게 결정합니까?
- 11. Android는 사용할 레이아웃 폴더를 어떻게 결정합니까?
- 12. Groove 작업 영역의 크기를 프로그래밍 방식으로 결정합니까?
- 13. 이중 버퍼 위젯 크기를 조정 하시겠습니까?
- 14. 페이징을 사용할 때 테이블의 초기 크기를 어떻게 설정합니까?
- 15. 네트워크 프로세서에서 작업하는 동안 대기열 및 스택 크기를 어떻게 결정합니까?
- 16. 드라이브의 공간/크기를 프로그래밍 방식으로 어떻게 결정합니까? LInux와 Windows 모두에서
- 17. Win32에서 최적의 디스크 IO 블록 크기를 어떻게 결정합니까?
- 18. SharePoint 목록의 크기는 어떻게 결정합니까?
- 19. wx.aui를 사용할 때 패널의 크기를 조정하는 방법
- 20. MVC에서 컨트롤러를 어떻게 결정합니까?
- 21. Inputstream Reader에서 버퍼 크기를 어떻게 바꿀 수 있습니까?
- 22. 어떻게 소켓 UDP 아래에 버퍼 크기를 설정할 수 있습니까?
- 23. 커널 I/O 버퍼 크기를 변경하는 방법
- 24. 심볼 경로의 값을 어떻게 결정합니까?
- 25. Java FileInputStream에서 사용하는 내부 버퍼 크기를 늘립니다.
- 26. twistd를 사용할 때 스레드 풀 크기를 조정하십시오.
- 27. 함수에 char 버퍼를 전달하고 버퍼 크기를 가져옵니다.
- 28. 전송 속도를 어떻게 결정합니까?
- 29. 어떻게 자녀의 순위를 결정합니까?
- 30. 이미지로드가 완료되면 어떻게 결정합니까?
+1 예 :-) –
저는이 예제를 조금 고민하고 있습니다. 내가 그 상황에서 이것을 어떻게 사용합니까 gzip 된 HttpResponseStream을 가지고 있습니까? – Micah
나는 그것을 이해했다. 압축 해제 루틴에서와 마찬가지로 메모리 스트림에 모든 바이트를 먼저 읽은 다음 그 바이트를 전달해야했습니다. 감사합니다! 스크린 스크래핑은 짜증나. – Micah