빈 디렉토리 정리 기능 추가

main
이범준 1 year ago
parent 6c7d4e9fe3
commit 0d16181e10

@ -1,6 +1,14 @@
package cokr.xit.fims.cmmn;
import java.io.File;
public class CmmnUtil {
/**
* HTML .
* @param HTML
* @return
*/
public static String escapeHTMLEntity(String str) {
str = str.replaceAll("&lt;", "<");
str = str.replaceAll("&gt;", ">");
@ -9,4 +17,30 @@ public class CmmnUtil {
str = str.replaceAll("#39;", "'");
return str;
}
/**
* .
* @param file , removeSelf
* @return
*/
public static int deleteEmptyDir(File file, boolean removeSelf) {
if (!file.isDirectory()) return 0;
int delCnt=0;
for (File subFile : file.listFiles()) {
if (subFile.isDirectory()) {
delCnt+=deleteEmptyDir(subFile, true);
}
}
if(removeSelf) {
if (file.listFiles().length==0) {
file.delete();
delCnt++;
}
}
return delCnt;
}
}

@ -117,12 +117,11 @@ public class FTPUtil {
// FTP의 파일 리스트와 디렉토리 정보를 취득하는 함수.
public static boolean getFileList(FTPClient client, String fileSeparator, String work, List<String> files, List<String> directories) {
System.out.println("work is "+work);
// FTP의 디렉토리 커서를 이동한다.
try {
if (client.changeWorkingDirectory(work)) {
System.out.println("커서이동 성공");
// 해당 디렉토리의 파일 리스트를 취득한다.
for (FTPFile file : client.listFiles()) {
@ -146,12 +145,9 @@ public class FTPUtil {
// FTP의 디렉토리 커서를 이동한다.
return client.changeWorkingDirectory(fileSeparator);
} else {
System.out.println("커서이동 실패");
}
} catch (IOException e) {
System.out.println("유틸 에러");
e.printStackTrace();
throw new RuntimeException();
}
// 커서 이동에 실패하면 false를 리턴한다.

@ -22,6 +22,7 @@ import cokr.xit.base.code.CommonCode;
import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.web.FileInfoFactory;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.CrdnInstMapper;
@ -194,11 +195,10 @@ public class Crdn05Controller extends ApplicationController {
String entType = hReq.getParameter("entType");
String fileName = hReq.getParameter("fileName");
if(entType.equals("이노")) {
try {
Stream<Path> walk = Files.walk(Paths.get("files"+File.separator+"tempForIno"));
List<String> deleteFilePaths = new ArrayList<String>();
@ -212,6 +212,8 @@ public class Crdn05Controller extends ApplicationController {
saved = (new File(deleteFilePath)).delete();
}
//빈 디렉토리 삭제
CmmnUtil.deleteEmptyDir(new File("files"+File.separator+"tempForIno"), false);
} catch (Exception e) {
throw new RuntimeException();
}

Loading…
Cancel
Save