2013-11-19 3 views
0

일부 파일을 청크로 다운로드하는 wcfservice를 작성 중입니다. 파일은 모든 인코딩에있을 수 있습니다. 그래서 유틸리티 클래스를 사용하여 인코딩을 감지 한 다음 적절한 오프셋에서 스트림을 읽었지만 StreamReader.Read(,,) 메서드는 파일을 char[]으로 읽습니다. 그래서이 상황에 대한 몇 가지 제안이 필요합니다. btw 최대 청크 크기는 4MB입니다.char []을 스트림으로 변환해야합니까?

1) char[]Stream으로 변환해야하나요? 또는 wcf를 통해 char[]을 보내면됩니다.

2) char[]에서 Stream으로 변환해야하는 경우 어떻게해야합니까? (char[]byte[]에 복사하려했지만 작동하지 않았습니다.)

답변

0

MemoryStream.Write 메서드를 찾고 있습니다. 대안

byte[] myByteArray = new byte[10]; 
MemoryStream stream = new MemoryStream(); 
stream.Write(myByteArray, 0, myByteArray.Length); 

, 당신이 바이트 배열에 기초하여, 새로운 비 - 크기 조정 MemoryStream을 개체를 만들 수있다 :

예를 들어, 다음의 코드는 메모리 스트림 바이트 [] 어레이의 내용을 기록 할
byte[] myByteArray = new byte[10]; 
MemoryStream stream = new MemoryStream(myByteArray); 
+0

내가 안타깝게도 찾고있는 것이 아니다./내 손에'byte []'가 없으며,'char []'가 있는데'byte [] '로 변환 할 수 없다. '. 그래도 고마워. –

관련 문제