アーカイブを抽出します。 コードが実行されるときしかし、問題は、それが以下の例外がスローされます。ファイル名 'filename'はすでに存在します。VB .NET
System.IO.IOException:「ファイル 『ファイル名』は既に存在します。」ここで
そのコードが実行する前に、私が実行されるコードの後...
を何も(なしファイル)を見ていないコード
File.WriteAllBytes(String_TempDir & "\rzip.zip", My.Resources.Resszip) 'I wrote the file from my application resources
Compression.ZipFile.ExtractToDirectory(String_TempDir & "\rzip.zip", String_TempDir) 'This line throws the exception
File.Delete(String_TempDir & "\rzip.zip")
が、それは例外がスローされます、しかし、私のアーカイブファイルされていますが抽出されました。
私は例外を区別するために、try文を使用しますが、それはまだその例外を投げ...
Try
Compression.ZipFile.ExtractToDirectory(String_TempDir & "\rzip.zip", String_TempDir)
Catch ex As IOException
'That's it.
End Try
String_TempDirは、私はそれを割り当てる文字列です:
'global declaration:
Dim folder As String = Path.Combine(Path.GetTempPath, Path.GetRandomFileName)
'End of global declaration
Public Function GetTempDir() As String
Do While Directory.Exists(folder) Or File.Exists(folder)
folder = Path.Combine(Path.GetTempPath, Path.GetRandomFileName)
Loop
Return folder
End Function
'Form loads
Directory.CreateDirectory(folder)
String_TempDir = folder
と= vs.110).aspx)IOExceptionのケースには多くの原因があります。そのうちの1つが適用されているかどうか確認してください。 – Steve
[System.IO.CompressionとZipFileの抽出と上書きの可能な複製](https://stackoverflow.com/questions/15464740/system-io-compression-and-zipfile-extract-and-上書き) – Pikoh