본 자료는
1. 프로그램 사용 전 준비사항
2. 예제 프로그램 동작 순서
3. 파일 복사(File Copy) 관련 메서드
순서로 설명합니다.
IEC-Series에서 프로그램 상에서 파일 복사(File Copy)를 하는 경우 파일이 정상 복사되지 않고 복사 실패가 될 수 있으며 이러한 경우 여러 가지 이유로 발생될 수 있지만, 외부 메모리의 인식 상태와 경로 문제로 인하여 발생될 수 있습니다.
따라서 파일 복사가 실패되어도 파일 복사를 다시 시도하거나 복사가 되지 않는 파일을 기록해두고 차후 복사해야 할 필요가 있습니다. 본 프로그램은 IEC-Series에서 복수 개의 파일을 복사하는 경우 파일 복사를 Try~Catch로 처리하고
복사 시도(Retry Count) 횟수 설정이 가능하며 복사 실패 시 사용자가 지정한 횟수만큼 자동으로 복사를 시도합니다. 만약 그래도 복사되지 않는 경우에는 복사 실패한 파일의 리스트를 리턴하는 기능을 갖고 있습니다. 본 내용의 소스를 프로젝트에
적용하기 편리하게 주요 복사 처리 코드는 FileCopyCore() 메서드를 통하여 구현하였습니다. 코드를 복사하여 적용하시기 바랍니다.
1. 프로그램 사용 전 준비사항
본 프로그램의 복사 경로는 Falsh Disk ↔ SD Memory 또는 Flash Disk ↔ USB Memory를 대상으로 사용할 수 있습니다. 본 예제를 테스트하시기 위해서는 아래의 내용들을 준비하시기 바랍니다.
IEC-Series의 Flash Disk로부터 SD Card로 복사하므로 SD Card가 필요함
SD Card의 파일 포맷(File Format) 형식은 SD/SDHC 타입의 경우 FAT32를 권장하고 SDXC타입의 경우 exFAT을 권장합니다.
- IEC667/1000-Series는 SD/SDHC 타입을 지원하며 용량은 64G까지 지원합니다.
프로그램에서 사용할 파일 리스트가 필요함
사용되는 파일들은 예제로써 사용을 위해 임시로 지정한 것이며 실제 사용 시 파일 이름과 확장자는 사용자가 복사를 원하는 파일로 변경하여 사용하면 됩니다.
복사할 파일은 LIST(동적 배열)에 저장하여 사용하므로 제한되는 파일 개수는 별도로 없습니다.
2. 예제 프로그램 동작순서
본 예제는 SD Memory를 기준으로 작성되었습니다. 사용하고자 하실 경우 파일 복사(File Copy) 관련 메서드 설명을 참고하시어 필요한 부분을 간단하게 수정하시면 편리하게 적용할 수 있습니다.
① 파일 복사 실패 시 복사 재시도 횟수를 지정하는 FileRetryCount를 설정. (SmartUpDown 버튼 사용)
② Start 버튼을 클릭하여 File 복사를 실행합니다. (Falsh Disk ↔ SD Memory, USB Memory)
파일을 한번 복사한 다음 다시 복사 명령을 실행 시 목적 폴더에 해당 파일이 존재하는 경우 복사 실패(Copy Fail)이 발생하므로 복사된 폴더와 파일을 삭제 후 복사 명령을 실행 바랍니다.
③ 복사 결과를 출력합니다.
File Count : 복사할 파일 총 개수 / Success Count : 복사 성공한 파일 개수 / Fail Count : 복사 실패한 파일 개수
④ CopyFailFileList : 복사 실패한 파일 리스트를 출력합니다.
3. 파일 복사(File Copy) 관련 메서드 설명
※ 기존 프로젝트에 본 메서드의 코드를 참조하여 파일 복사 관련 기능을 손쉽게 구현하시기 바랍니다.
string[] FileCopyCore(string SrcFile, string DestFile, string[] filelist, int iRetryCnt, out int iSuccessCnt)
(인자) SrcFile : 원본 경로. @"Flash Disk\\Src\\"; 같이 사용하며 Flash Disk는 Flash Disk로 표기. SD Memory는 SD Card로 표기. USB 메모리는 하드 디스크로 표기
(인자) DestFile : 목적지 경로
(인자) filelist : 복사할 원본 파일 리스트. (string 배열)
(인자) iRetryCnt : 파일 복사 재시도 횟수. 사용자가 직접 지정 가능
(인자) iSuccessCnt : 복사 성공 카운트. 메서드 내부에서 변경된 값을 참조하기 위해 out 파라미터로 선언
(반환값) CopyFailList : 파일 복사 실패 리스트를 배열(Array)로 반환