colblake
Erfahrenes Mitglied
Hallo,
ich habe ein Programm, dass schnell hintereinander etwas an eine Datei anhängt. (Die Datei öffne ich mit FileStream) Nun möchte ich das Programm schneller machen und hab über den Leistungsassistenten einen test durchführen lassen. Das Ergebnis hatt mich doch sehr erstaunt. 95% der Zeit verbrauch mein Programm in der Stream.Close() Methode.
Die Datei immer oder länger offen zu lassen ist keine Alternative! Es ist eine Anforderung, dass nach jedem Intervall (~funktionsaufruf) eine konsistente Datei vorhanden sein muss.
Deshalb meine Frage: Kann man eine Datei in vc# ander als mit Streams öffen?
hier noch meine Funktion die schnell hintereinander aufgerufen werden muss:
Gruß
Col.Blake
ich habe ein Programm, dass schnell hintereinander etwas an eine Datei anhängt. (Die Datei öffne ich mit FileStream) Nun möchte ich das Programm schneller machen und hab über den Leistungsassistenten einen test durchführen lassen. Das Ergebnis hatt mich doch sehr erstaunt. 95% der Zeit verbrauch mein Programm in der Stream.Close() Methode.
Die Datei immer oder länger offen zu lassen ist keine Alternative! Es ist eine Anforderung, dass nach jedem Intervall (~funktionsaufruf) eine konsistente Datei vorhanden sein muss.
Deshalb meine Frage: Kann man eine Datei in vc# ander als mit Streams öffen?
hier noch meine Funktion die schnell hintereinander aufgerufen werden muss:
C#:
private void InsertFile(...)
{
FileStream fileStream = null;
try
{
...
fileStream = new FileStream(GetFileName(), FileMode.Open);
...
fileStream.Seek(...);
fileStream.Write(...);
fileStream.Write(...);
fileStream.Flush();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw;
}
finally
{
if (fileStream != null)
fileStream.Close();
}
}
Gruß
Col.Blake
Zuletzt bearbeitet: