C#에서 object [] []를 압축해야합니다. Gzip comrepss - 바이트 압축 해제를 사용할 수 있지만 그런 경우 어떻게 할 수 있습니까? 변환C#에서 Object [] []를 압축하는 방법
답변
이진 직렬화를 사용하여 바이트 배열로 변환 한 다음 압축합니다. 배열의 모든 객체가 serializable이면 다음을 수행 할 수 있습니다.
object[][] objects = new[] {new[] {"a"}};
BinaryFormatter formatter = new BinaryFormatter();
using (MemoryStream memoryStream = new MemoryStream())
using (GZipStream gZipStream = new GZipStream(File.OpenWrite("C:\\zipped.zip"),
CompressionMode.Compress))
{
formatter.Serialize(gZipStream, objects);
}
//unzipping
using (GZipStream gZipStream = new GZipStream(File.OpenRead("C:\\zipped.zip"),
CompressionMode.Decompress))
{
objects = (object[][])formatter.Deserialize(gZipStream);
Console.WriteLine(objects[0][0]); //a
}
+1 deserialize 할 프로세스 [/ code]는? (완성을 위해) –
@pst 완료, 그리고 한계가 싫어. –
고마워. 정확히 내가 무엇을 찾고 있었는지. – Cannon
- 를 A
byte[]
- 압축에
object[][]
byte[]
1 단계 어려운 부분이며, 그들이 byte[]
들로 변환 할 수 있도록 모든 객체 직렬화 것을 요구합니다 .
이 까다로운 이유는 object[]
의 내용을 메모리에 다양한 object
의 단지 메모리 참조가 실제로, 그 object
들도 마찬가지로 다른 object
들에 대한 참조를 가질 수 있다는 것입니다. 일부는 할당 된 I/O 포트와 같은 특정 시스템 리소스를 참조 할 수도 있습니다. 이 컴퓨터는 객체에 동일한 리소스를 할당하지 않았기 때문에 이와 같은 객체를 다른 컴퓨터로 전송하는 것은 당연한 일입니까? 따라서 클래스에서 바이트 스트림으로 serialize 및 deserialize 할 수 있다고 명시 적으로 지정하지 않은 경우에는이를 수행 할 수 없습니다.
- 1. Object C에서 Object allocate 및 init
- 2. Object C에서 임의의 클래스 인스턴스화
- 3. [Object object]를 반환하는 jQuery JSON
- 4. 리눅스에서 이미지를 압축하는 방법?
- 5. Object-c에서 sqlite3_exec을 사용하여 BLOB로 UIImage를 삽입하는 방법
- 6. Object-c에서 private로 상속 된 메서드 재정의
- 7. Object-C에서 개체 및보기 설정 및 초기화
- 8. Object c에서 오브젝트 복사가 어떻게 작동합니까?
- 9. C에서 비트 AND (&)를 반전하는 방법?
- 10. MS Access 데이터베이스를 압축하는 방법
- 11. PHP 파일을 안전하게 압축하는 방법
- 12. 문자열의 크기를 결정하고 압축하는 방법
- 13. Silverlight에서 음성 스트림을 압축하는 방법
- 14. (Object as TClass) 및 TClass (Object)를 사용하여 캐스팅의 차이점
- 15. Objective-C에서 @encode()를 사용하여 @ "NSArray"를 얻는 방법
- 16. 자바 스크립트를 압축하는 Makefile
- 17. [object object error]
- 18. C에서 ref를 사용하는 방법
- 19. 빠른 무엇입니까? [object]를 선택하거나 linq
- 20. jQuery Ajax 호출에서 [[object XMLDocument] '를 반환했습니다.
- 21. byte []를 Java의 Object File로 변환
- 22. C에서 tcsetpgrp()를 사용하려면 어떻게해야합니까?
- 23. gzip을 사용하여 .net 객체 인스턴스를 압축하는 방법
- 24. 아카이브 개별 하위 폴더를 압축하는 방법
- 25. TYPO3에서 js/css 파일을 압축하는 방법
- 26. android에서 이미지 뷰어로 이미지를 압축하는 방법
- 27. iphone 오디오 파일 크기를 압축하는 방법
- 28. JAR 유틸리티를 사용하여 .par 파일을 압축하는 방법
- 29. C++에서 libbz2를 사용하여 디렉토리를 압축하는 방법
- 30. iphone : objective-c : NSString을 압축하는 방법?
배열에 어떤 종류의 객체가 있습니까? 직렬화가 가능하다면 직렬화 한 다음 GZip으로 결과를 압축 할 수 있습니다. 직렬화 할 수없는 경우 압축을 수행 할 일반 또는 표준 방법이 없습니다. – driis
더 많은 정보를 제공해야합니다. 그러한 방법의 결과는 무엇입니까? 해당 배열에는 어떤 종류의 객체가 있습니까? 가치 유형 또는 참조 유형입니까? 또는 둘 다입니까? – Joe