namespace abbabab
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ExtractZipByIO(@"D:\ジンコウガクエン2.zip", @"D:\");
}
public static void ExtractZipByIO(string zipPath, string destinationPath)
{
if (!Directory.Exists(destinationPath))
{
Directory.CreateDirectory(destinationPath);
}
using (ZipArchive zip = System.IO.Compression.ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in zip.Entries)
{
var filepath = Path.Combine(destinationPath, entry.FullName);
var subDir = Path.GetDirectoryName(filepath);
if (!Directory.Exists(subDir))
{
Directory.CreateDirectory(subDir);
}
entry.ExtractToFile(filepath);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
버튼을 클릭 했을 경우 압축 된 파일이 풀리면서 경로에다가 압축 풀기로 만들고 잇는데 자꾸 entry.ExtractToFile(filepath);에서 예외가 처리되지 않음
오류가 뜬다...
System.IO.DirectoryNotFoundException: ''D:\Ingongsc2\' 경로의 일부를 찾을 수 없습니다.'라고 뜨는데 해결 방법이 있을까???
using System.IO;
using System.IO.Compression;이랑
lonic.Zip참조 깔려져 있음... ㅠㅠ 다와서 이러는거 너무 슬퍼 ㅠ 근데 폴더는 만들어짐... 압축풀기가 안됨... 되더라도 다 안되고 오류뜨더라..
파일경로에 파일이 없다는 에러같은데 경로 확인해라
아니면 파일에 접근할 권한이 없어서 그런걸수도있으니깐 관리자권한 실행
var filepath = Path.Combine(destinationPath, entry.FullName); 를 var filepath =Path.GetFullPath( Path.Combine(destinationPath, entry.FullName)); 로 바꿔봐.