Ich habe eine Binärdatei, an die ich am Ende der Datei einen Datenblock anhängen möchte. Wie kann ich dies mit C# und .net erreichen? Gibt es auch Überlegungen beim Schreiben an das Ende einer Binärdatei? Vielen dank für Deine Hilfe.Wie hängen Daten an eine Binärdatei an?
Antwort
private static void AppendData(string filename, int intData, string stringData, byte[] lotsOfData)
{
using (var fileStream = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None))
using (var bw = new BinaryWriter(fileStream))
{
bw.Write(intData);
bw.Write(stringData);
bw.Write(lotsOfData);
}
}
sollten Sie in der Lage sein, dies über die Stream
zu tun:
using (FileStream data = new FileStream(path, FileMode.Append))
{
data.Write(...);
}
Was Erwägungen - die wichtigste wäre: anhängen nicht die zugrunde liegende Datenformat unterstützt? Viele nicht, es sei denn, es sind Ihre eigenen Rohdaten oder Text usw. Ein wohlgeformtes xml-Dokument unterstützt zum Beispiel nicht append (ohne Berücksichtigung des finalen End-Elements). Noch wird so etwas wie ein Word-Dokument. Manche tun es jedoch. Damit; Ihre Daten OK mit diesem ist ...
StreamWriter
und Referenzierung DotNetPerls verwenden, stellen Sie sicher, dass die True
boolean zum StreamWriter
Konstruktor hinzufügen, wenn sonst leer bleiben, wird es wie üblich überschreiben:
using System.IO;
class Program
{
static void Main()
{
// 1: Write single line to new file
using (StreamWriter writer = new StreamWriter("C:\\log.txt", true))
{
writer.WriteLine("Important data line 1");
}
// 2: Append line to the file
using (StreamWriter writer = new StreamWriter("C:\\log.txt", true))
{
writer.WriteLine("Line 2");
}
}
}
Output
(File "log.txt" contains these lines.)
Important data line 1
Line 2
Das ist die Lösung, nach der ich eigentlich gesucht habe, als ich von Google hierher kam, obwohl es keine binäre Datei war, hoffe, dass es jemand anderem hilft.
- 1. So hängen Sie eine DataTable an eine andere DataTable an
- 2. So hängen Sie Daten an jquery tmpl an
- 3. Wie hängen Sie an eine bereits vorhandene Zeichenfolge an?
- 4. Wie hängen Sie mit jQuery Zeilen an eine Tabelle an?
- 5. Hängen Sie NSData an eine Datei in Objective C an
- 6. Hängen Sie ein Tupel an eine Liste an
- 7. Wie suchen und an eine Binärdatei in Python anhängen?
- 8. Wie hängen Sie Clientdaten an die Serververbindung an?
- 9. So hängen Sie Metadaten an jeden Frame eines Videos an
- 10. Daten werden überschrieben, anstatt an CSV zu hängen
- 11. Wie kann ich eine Binärdatei von ActionScript an .net senden?
- 12. TCP- Verbindungen hängen an CLOSE_WAIT Status
- 13. Rails hängen Parameter an URL an, basierend auf Dropdown-Auswahl
- 14. So hängen Sie zusätzliche Daten an den vorhandenen Serializer in Django an
- 15. So hängen Sie eine Datei an eine E-Mail mit PowerShell an
- 16. Capistrano hängen an git-Archiv Master
- 17. "go get" hängen an bestimmten Bibliothek
- 18. Daten an eine ComboBox binden
- 19. So hängen Sie mehrere Werte an eine Liste in Python an
- 20. So hängen Sie Text an eine Datei in einer neuen Zeile an
- 21. Hängen Sie ein jQuery-Element an eine Zeichenfolge an, die html enthält
- 22. Daten eine große Menge an Daten abbauen
- 23. Hängen Sie den Debugger an eine Anwendung an, die von einer Push-Benachrichtigung kalt startet.
- 24. Wie zu isolieren Ursachen von System hängen an Unix/OSX
- 25. Wie füge ich eine Aktion an eine UIPicker-Änderung an?
- 26. Wie erstellt man willkürliche Binärdatei an der Windows 7-Befehlszeile?
- 27. So hängen Sie Fragmente in einer Recycler-Ansicht an
- 28. So übergeben Sie Daten an eine Vorlagengruppe
- 29. Daten an Verteilungen anpassen?
- 30. Sails.js - Daten an eine Ansicht übergeben
+1 Ich mag diese Antwort, weil es Ihnen zeigt, wie Sie native Datentypen zusätzlich als binäre Darstellungen in den Stream schieben. –
@jdk - was natürlich eine Menge von Annahmen darüber macht, was die zugrunde liegenden Daten * sind *; ein 'byte []' sicher, das würde immer Sinn machen ... aber die Kodierung für die anderen könnte * Meilen * sein. –
+1 für den binären Schreiber, wenn Sie binäre Daten schreiben, ist es immer am besten, den Schreiber –