자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 파일복사 관련 문의입니다.
2015.12.11 10:17
jpg 파일을 Tfilestream, TStringStream을 이용하여 파일을 생성(쓰기)하려고 합니다.
F1: Tfilestream;
F3: TStringStream;
F1.Tfilestream.Create('파일경로', fmOpenRead);
F3.TStringStream.Create('');
F3.CopyFrom(F1, F1.Size);
Write(Fhandle, F3.DataString);
위와 같이 파일을 복사하여 사용하려고 하고 있습니다.
F1 사이즈와 F3 사이즈는 같다고 확인하였는데, 파일로 만들어진 내용을 보면 읽어들인 파일의 용량(사이즈)와 다르게 표시됩니다. 그리고 파일명을 .jpg로 변환시에도 jpg로 변환되지 않습니다.
바이너리 방식으로 파일 복사시 TstringStream으로 가져오지 못하는 부분이 있는건가요?
Delphi 파일복사 관련 문의입니다.
2015.12.11 10:17
jpg 파일을 Tfilestream, TStringStream을 이용하여 파일을 생성(쓰기)하려고 합니다.
F1: Tfilestream;
F3: TStringStream;
F1.Tfilestream.Create('파일경로', fmOpenRead);
F3.TStringStream.Create('');
F3.CopyFrom(F1, F1.Size);
Write(Fhandle, F3.DataString);
위와 같이 파일을 복사하여 사용하려고 하고 있습니다.
F1 사이즈와 F3 사이즈는 같다고 확인하였는데, 파일로 만들어진 내용을 보면 읽어들인 파일의 용량(사이즈)와 다르게 표시됩니다. 그리고 파일명을 .jpg로 변환시에도 jpg로 변환되지 않습니다.
바이너리 방식으로 파일 복사시 TstringStream으로 가져오지 못하는 부분이 있는건가요?
TSTream의 SaveToFile, LoadFromFile 등의 메소드를 이용해 보시기 바랍니다.
그리고 스트림간 복사는 Assignd 함수를 이용하시고 해당 함수의 내용을 참고해보세요.
(아마도 Stream.Position := 0 등으로 복사를 시작할 시작점 위치를 조정해야 할것으로 보입니다.)
여러모로 테스트해보시며 익혀보시기 바랍니다.