본문 바로가기

재귀

[Java] 재귀함수를 이용한 폴더 복사 pSourcePath: 소스 디렉토리 경로, pDestinationPath: 목적 디렉토리 경로, pOverWrite: 덮어쓰기 유무public void copyDirectory(String pSourcePath, String pDestinationPath, Boolean pOverWrite) throws IOException {File sourceDir = new File(pSourcePath);File destinationDir = new File(pDestinationPath);String[] sourceDirFiles; if (sourceDir.isDirectory() && sourceDir.exists()) {sourceDirFiles = sourceDir.list(); if (!destinat.. 더보기
[Java] 재귀함수를 이용한 폴더 삭제 public void deleteDirectory(String pDirPath) {File sourceDir = new File(pDirPath);String[] sourceDirFiles = sourceDir.list(); if (sourceDir.isDirectory()) {for (int i = 0; i < sourceDirFiles.length; i++) {File file = new File(pDirPath + File.separatorChar + sourceDirFiles[i]); if (file.isDirectory()) {deleteDirectory(pDirPath + File.separatorChar + file.getName());} else {file.delete();}}} if (s.. 더보기
[Delphi] 재귀함수를 이용한 폴더 복사 재귀를 이용한 폴더 복사pOverWrite 가 True이면 덮어쓰기, False이면 덮어쓰지 않고 건너감// pSourceDir 폴더를 pDestinationDir 경로로 복사// pSourceDir : 소스 디렉토리, pDestinationDir : 목적 디렉토리, pOverWrite : 덮어쓰기 유무procedure CopyDirectoryAll(pSourceDir, pDestinationDir: string; pOverWrite: Boolean);var TempList : TSearchRec;begin if FindFirst(pSourceDir + '\*', faAnyFile, TempList) = 0 then begin if not DirectoryExists(pDestinationDir) the.. 더보기
[Delphi] 재귀함수를 이용한 폴더 삭제 필요할 때마다 매번 작성하다보니 귀찮은 데다가 시간 아까움.. 별 것도 아닌데 그냥 긁어다 쓰는게 정답.// pDir 디렉토리, 하위 폴더 및 파일 모두 삭제procedure RemoveDirectoryAll(pDir: string);var TempList : TSearchRec;begin if FindFirst(pDir + '\*', faAnyFile, TempList) = 0 then begin repeat if ((TempList.attr and faDirectory) = faDirectory) and not (TempList.Name = '.') and not (TempList.Name = '..') then begin if DirectoryExists(pDir + '\' + TempList.Na.. 더보기