Asterix-Ac
Erfahrenes Mitglied
Hi Community,
ich versuche ein kleines Kopier-Tool für mich zu schreiben.
Die Assembly liest mit einem BinaryReader die Datei(en) byteweise
ein und soll sie anschließend wieder an einen anderen Ort mit einem BinaryWriter zurückschreiben. Das lesen klappt auch gut. Doch beim Konstruktor-Aufruf des FileStreams, um die Datei zurückzuschreiben, bekomme ich eine System.UnauthorizedAccessException. In der Exception steht ein WinIOError.
Das Googlen hat nach 3 Stunden immer noch nichts gebracht.
Am Besten, ich packe hier mal die Methode rein, die das Problem ist.
Danke schonmal im Vorraus. Ich hoffe, jemand kann mir helfen.
Asterix
(Edit by Alex: Bitte unnötige Tabs entfernen da Zeilen sonst so lange werden.)
ich versuche ein kleines Kopier-Tool für mich zu schreiben.
Die Assembly liest mit einem BinaryReader die Datei(en) byteweise
ein und soll sie anschließend wieder an einen anderen Ort mit einem BinaryWriter zurückschreiben. Das lesen klappt auch gut. Doch beim Konstruktor-Aufruf des FileStreams, um die Datei zurückzuschreiben, bekomme ich eine System.UnauthorizedAccessException. In der Exception steht ein WinIOError.
Das Googlen hat nach 3 Stunden immer noch nichts gebracht.
Am Besten, ich packe hier mal die Methode rein, die das Problem ist.
Danke schonmal im Vorraus. Ich hoffe, jemand kann mir helfen.
Asterix

Code:
private void btnStart_Click(object sender, System.EventArgs e)
{
this.btnExit.Enabled = false;
this.btnStop.Enabled = true;
this.btnStart.Enabled = false;
this.btnFileAdd.Enabled = false;
this.btnFileRemove.Enabled = false;
this.btnZiel.Enabled = false;
this.prgsAll.Maximum = this.lstFiles.Items.Count;
this.prgsAll.Value = 0;
for(int i=0;i<this.lstFiles.Items.Count;i++)
{
this.prgsOne.Value = 0;
FileInfo Fi = new FileInfo(this.lstFiles.Items[i].ToString());
int fileLength = (int)Fi.Length;
byte[] datei = new byte[fileLength];
this.prgsOne.Maximum = fileLength*2;
FileStream readStream = new FileStream(this.lstFiles.Items[i].ToString(),FileMode.Open);
BinaryReader binReader = new BinaryReader(readStream);
for(int b=0;b<fileLength;b++)
{
datei[b] = binReader.ReadByte();
this.prgsOne.Value = b;
}
binReader.Close();
// Hier (FileStream c'tor schmiert die Assembly ab)
FileStream writeStream = new FileStream(this.lblDestinationFolder.Text,FileMode.Create,FileAccess.Write);
BinaryWriter binWriter = new BinaryWriter(writeStream);
for(int b=0;b<fileLength;b++)
{
binWriter.Write(datei[b]);
this.prgsOne.Value = fileLength+b;
}
binWriter.Close();
this.prgsAll.Value+=i;
}
this.btnStop_Click(null,null);
}
(Edit by Alex: Bitte unnötige Tabs entfernen da Zeilen sonst so lange werden.)
Zuletzt bearbeitet von einem Moderator: