1
我目前正在使用一個簡單的應用程序,在其中瀏覽目錄,然後列出該目錄中包含的所有文件。我使用Path.GetFilename和其他東西來獲取每個文件的描述。現在我正在研究壓縮文件呢?我想查看壓縮文件(zip,rar)並獲取所有可以獲得的文件信息。我該怎麼做?獲取來自壓縮文件(C#)的所有信息
這裏是我到目前爲止的代碼:
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
button1.Enabled = true;
this.dataGridView1.Rows.Clear();
dPaths = "";
string[] filePaths = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.*", SearchOption.AllDirectories);
for (int y = 0; y < filePaths.Length; y++)
{
FileInfo fInfo = new FileInfo(filePaths[y]);
if (Path.GetExtension(filePaths[y]) != ".zip" && Path.GetExtension(filePaths[y]) != ".rar")
{
this.dataGridView1.Rows.Add(
Path.GetFileName(filePaths[y]),
Path.GetExtension(filePaths[y]),
fInfo.Length,
fInfo.LastWriteTime,
Path.GetDirectoryName(filePaths[y]));
dPaths = dPaths
+ Path.GetFileName(filePaths[y]) + "?"
+ Path.GetExtension(filePaths[y]) + "?"
+ fInfo.Length + "?"
+ fInfo.LastWriteTime + "?"
+ Path.GetDirectoryName(filePaths[y])
+ ";";
// Legend:
// ? = explode for files, in order: Filename FileExtension Filesize FileDateModified Filepath
// ; = explode for every files
}
else //zip/rar detected, everything inside is not working though
{
string[] compressedfile = Directory.GetFiles(filePaths[y], "*.*", SearchOption.AllDirectories);
for (int x = 0; x < compressedfile.Length; x++)
{
FileInfo fInfo2 = new FileInfo(compressedfile[x]);
this.dataGridView1.Rows.Add(
Path.GetFileName(compressedfile[x]),
Path.GetExtension(compressedfile[x]),
fInfo2.Length,
fInfo2.LastWriteTime,
Path.GetDirectoryName(compressedfile[x]));
dPaths = dPaths
+ Path.GetFileName(compressedfile[x]) + "?"
+ Path.GetExtension(compressedfile[x]) + "?"
+ fInfo2.Length + "?"
+ fInfo2.LastWriteTime + "?"
+ Path.GetDirectoryName(compressedfile[x])
+ ";";
}
}
}
}