2012-05-17 3 views
0

에 쓰여지고 있습니다. 현재 텍스트를 읽고 텍스트 파일에 다시 쓰는 가장 효율적인 방법을 찾으려고합니다. 이렇게하면 (223KB의 파일로) 원본 파일에 몇 개의 문장을 추가하여 224KB 파일의 결과를 얻습니다. (이 몇 가지 추가 문장은 파일의 가운데에서 잡힌 것 같습니다.) 나는 그 문제가 무엇인지 찾아 낼 수 없다.여분의 텍스트가 파일 C#

 while(...) 
     { 
      writeStream.Write(array, 0, array.Length); 

      if (read == 0) 
       break; 
     }   
+1

'.Close()'는'.Flush()'를 호출하므로 코드를 스스로 저장할 수 있습니다. –

+1

@test 아직도 답을 모르십니까? 당신은 항상'array.Length' 바이트를 씁니다.하지만 마지막 반복에서'array'의 일부분 만이 실제 데이터로 채워집니다. 그래서 당신은 당신이 읽은 바이트 만 써야한다. (카운트는'read' 변수에있다.) –

+0

이 질문 이후에 나의 while 루프의 마지막 연산으로 '배열'버퍼를 새로 고침해야했다./ – test

답변

2

'쓰기'방법의 세 번째 매개 변수가 잘못되었습니다 다음은 내가 사용하고 코드입니다. 그것을 읽음으로 바꾸면 제대로 작동 할 것입니다.

+0

감사합니다. – test

8

그것은해야한다 :

writeStream.Write(array, 0, read); 
+2

+1 : 그런 흔한 실수, p – leppie

+0

감사합니다. 바로 이것을 시도하겠습니다. – test

관련 문제