FTP 서버에서 다운로드 중이며 파일이 이미 있는지 확인하는 방법을 정확하게 모른다. 내가 원하는 것은 FTP 서버에서 filname을 검색 한 다음 폴더의 모든 파일과 비교하는 것입니다. 파일이 이미 있으면 다음 FTP 파일 이름을 폴더의 모든 파일과 비교합니다. 이미 비교를했는데 폴더의 모든 파일이 FTP 서버의 파일과 동일한 이름을 가지고 있지만 이전 파일을 추가하면 모든 파일을 다시 한 번 다운로드하고 싶지 않습니다. 사전에FTP에서 다운로드 할 때 파일이 존재하는지 확인하는 방법
String[] names = client.listNames();
File folder = new File("c:\\test\\RTR_ZIP\\");
String[] filename = folder.list();
for (;i<names.length;i++) {
name = names[i];
exists=false;
if (name.contains(".zip")) {
if (filename.length == 0) {
new_file = new FileOutputStream("C:\\test\\RTR_ZIP\\" + name);
client.retrieveFile(name, new_file);
j++;
exists=true;
} else {
for (;k<filename.length;k++) {
name = names[i];
i++;
name1=filename[k];
// CHECK IF FILE EXISTS
if (!name.equals(name1)) {
new_file = new FileOutputStream("C:\\test\\RTR_ZIP\\" + name);
client.retrieveFile(name, new_file);
j++;
exists=true;
}
}
}//else
}//if contains .zip
}//for
감사 :
여기 내 스크래치 코드입니다.
비교 방법은 어떻게됩니까? – Igor
@Igor'java.io.File.equals'. 왜 파일을 비교해야하는지 이해가 안됩니다. – khachik
내가 말했듯이 디렉토리에 이전 파일이 있으면 내 비교가 작동하지 않습니다. FTP의 파일이 디렉토리의 파일과 동일한 경우에만 작동합니다. 그래서 내가 FTP에서 파일을 디렉토리의 모든 파일과 비교하려고합니다. – Igor