Ich habe einen temporären Ordner erstellt, um einige Audiodateien zu behalten. Ich beabsichtige, diesen temporären Ordner zu löschen, nachdem ich die Audiodateien in eine Datei eingefügt habe.Löschen Sie einen Ordner nach dem Löschen seines Inhalts mit C#
Hier ist der Teil meines Codes, die temporäre Dateien im Verzeichnis directoryName
erstellt:
fileName = fileCounter.ToString() + ".wav";
fileCounter++;
fileName = directoryName + "\\" + fileName;
Code, der wie folgt ist alle temporären Dateien verbindet:
public void Concatenate(string outputFile, List<string> sourceFiles)
{
byte[] buffer = new byte[1024];
WaveFileWriter waveFileWriter = null;
try
{
foreach (string sourceFile in sourceFiles)
{
using (WaveFileReader reader = new WaveFileReader(sourceFile))
{
if (waveFileWriter == null)
{
// first time in create new Writer
waveFileWriter = new WaveFileWriter(outputFile, reader.WaveFormat);
}
else
{
if (!reader.WaveFormat.Equals(waveFileWriter.WaveFormat))
{
throw new InvalidOperationException("Can't concatenate WAV Files that don't share the same format");
}
}
int read;
while ((read = reader.Read(buffer, 0, buffer.Length)) > 0)
{
waveFileWriter.WriteData(buffer, 0, read);
}
}
}
}
finally
{
if (waveFileWriter != null)
{
waveFileWriter.Dispose();
}
}
}
Ich hatte von dieser question Hilfe
Hier ist mein Code zum Löschen der Dateien
private void DeleteDirectory()
{
string[] files = Directory.GetFiles(directoryName);
foreach (string file in files)
{
File.Delete(file);
}
Directory.Delete(directoryName);
}
Der Code in der Frage löschte jedoch nur Dateien innerhalb des Ordners. Aber ich möchte den Ordner auch löschen.
Soweit ich weiß, können Sie Directory.Delete mit True verwenden, um alle enthaltenen Dateien und Unterverzeichnisse zu löschen und die Schleife nicht benötigen. –
Konnte die Antwort leicht gefunden haben: https: // stackoverflow.com/questions/1288718/how-to-delete-all-files-and-folders-in-directory –