2016-06-06 5 views
0

그래서 디렉토리에 zip 파일이 있습니다. 이 zip 파일에는 다른 종류의 파일이 들어 있습니다. 사용자가 WPF 응용 프로그램에서 단추를 클릭하면 zip 파일을 업데이트해야합니다.다른 zip 파일을 기반으로 zip 파일을 업데이트하십시오. C#

다른 디렉토리의 다른 zip 파일의 파일을 검사해야합니다. 파일이 첫 번째 zip 파일에서 제외되면 다른 zip 파일의 파일을 새 zip 파일로 복사해야합니다.

나는이 이온 지퍼 방법을 사용했습니다.

지금까지 file.copy 덮어 쓰기 = true 코드를 사용했습니다. 그러나 zip 파일이 1GB + 일 때 zip 파일을 바꾼 것이므로 시간이 오래 걸립니다.

내가 해결할 수있는 방법을 아는 사람이 있습니까?

인사말 토마스

UPDATE :

private void getlocaldata() 
     { 

      string admindata = @"\\networklocation\test.zip"; 
      string localPath = @"C:\finaldata\test.zip"; 

      File.Copy(admindata, localPath, true); 

     } 
+0

'file.copy overwrite = true'는 무엇입니까? 모든 파일을 다시 압축하지 않고 [zip 파일을 추가] (http://stackoverflow.com/q/22339260/1997232)해야합니다 (지금 수행중인 경우). 관련 코드를 질문에 추가하는 것을 고려하십시오. – Sinatr

+0

기본 .Net Zip을 사용하려는 경우 ZipArchive가 필요합니다. https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive%28v=vs.110%29.aspx를 참조하십시오. – MikeT

+0

의견을 보내 주셔서 감사합니다. 그러나 다른 zip 파일의 파일을 기반으로 한 파일이 이미 zip 파일에 있는지 확인할 수있는 방법을 알고 계십니까? –

답변

1

당신은 DotNetZip 라이브러리를 사용할 수 있습니다 : 이 내가 지금까지 가지고 코드입니다.

확인 우편에있는 파일 :

zip["Readme.txt"] = null; 

어쨌든 당신이 참아 암호를 변경 다시 파일을 압축해야합니다. 그 예를 찾을 수 있습니다 here.