Veröffentlicht 30. März 200916 j Hallo, und schon wieder ein neues Problem :old Ich soll mehrere Dateien (ohne etwas über die Dateien selbst zu wissen) mittels C# mergen. Mein Quellverzeichnis soll C:\ Temp sein, und die dateien, die gemerged wurden, dann nach D:\ Temp schieben, und die alten (in C:\ Temp) löschen. Wie stell ich das jetzt am doofsten an? :confused: Danke und mfg SeToY
30. März 200916 j Ohne zusätzliche Informationen über Kontext oder Struktur der Daten kannst du da nichts Sinnvolles machen.
30. März 200916 j Autor Hallo, danke dir für deine Antwort Das ist doch eigentlich nicht relevant, oder? Es soll einfach der komplette Dateiinhalt gemerged werden. lg
30. März 200916 j Natürlich ist das relevant, sobald die Datei eine bestimmte Struktur hat kannst du nicht einfach nur die eine hinter die andere hängen
30. März 200916 j Es soll einfach der komplette Dateiinhalt gemerged werden.Erklär bitte mal, was du dir unter "mergen" vorstellst.
30. März 200916 j Autor Ich will sie ja nicht einfach nur hintereinander schreiben, sondern mergen. Es soll sich dabei um nen LongRun Archive handeln. Unter "mergen" verstehe ich, dass ich Inhalte zweier Dateien zusammenfüge. Bearbeitet 30. März 200916 j von SeToY
30. März 200916 j Ich will sie ja nicht einfach nur hintereinander schreiben, sondern mergen.Damit hast du erklärt, was mergen für dich nicht ist. Und was ist es? Es soll sich dabei um nen LongRun Archive handeln.Es gibt also doch Informationen über die Dateien?
30. März 200916 j Autor "Unter "mergen" verstehe ich, dass ich Inhalte zweier Dateien zusammenfüge." Naja generelle Informationen über die Datei habe ich nicht. Nur halt, dass es sich um LongRun Archive handeln soll. Ich frag aber sicherheitshalber nochmal nach Edit: Okay, habe nachgefragt ^^ Ich soll halt jede zeile einzeln auslesen und dann mit in die andere datei übernehmen.. ^^ Bearbeitet 30. März 200916 j von SeToY
30. März 200916 j "Unter "mergen" verstehe ich, dass ich Inhalte zweier Dateien zusammenfüge." Merkst du, dass du gar nicht erklären kannst, was du eigentlich machen willst? Aus Begriffen mit ungeklärter Bedeutung kannst du keinen Algorithmus formulieren. Naja generelle Informationen über die Datei habe ich nicht. Nur halt, dass es sich um LongRun Archive handeln soll.Dann musst du Informationen über das Format dieser Dateien einholen, und daraus ableiten, was mit "mergen" eigentlich gemeint ist. Erst dann solltest du dir Gedanken über die Umsetzung machen. Ich soll halt jede zeile einzeln auslesen und dann mit in die andere datei übernehmen.. ^^Dann brauchst du immer noch eine Ordnungsrelation, die bestimmt, in welcher Reihenfolge die Zeilen in der Zieldatei stehen.
30. März 200916 j Autor Laut meinem "Auftrag" ist es vollkommen egal, welches Format diese Datei hat. Sei es .XML, seien es Binärdateien oder whatever. Ich soll Dateien für ein LongRunArchive Zeile für Zeile zu einer Datei zusammenfügen. Z.B. aus Datenbanken, um diese in Textdateien zu Archivieren. Das ist aber erst der zweite Schritt. Vorher soll ich das halt mit irgendwelchen dateien machen, die in C:\ Temp liegen und alle dateien in eine nach D:\ Temp kloppen.
30. März 200916 j Laut meinem "Auftrag" ist es vollkommen egal, welches Format diese Datei hat. Sei es .XML, seien es Binärdateien oder whatever.Es ist aber sinnlos, XML- oder Binärdateien Zeile für Zeile einzulesen. Ich soll Dateien für ein LongRunArchive Zeile für Zeile zu einer Datei zusammenfügen.Wie gesagt, dann brauchst du einen Algorithmus, der dir sagt, in welcher Reihenfolge die Zeilen stehen müssen. Das geht beispielsweise dann, wenn die Zeilen Zeitstempel enthalten. Es könnte auch sein, dass die Reihenfolge egal ist, und du nur Duplikate ausfiltern musst. Deswegen musst du genau klären, was mit "mergen" gemeint ist. Es gibt keine allgemeingültige Bedeutung für diesen Begriff, mit der du hier etwas anfangen könntest. Es gibt sehr sehr viele Möglichkeiten, zwei Dateien zu einer zusammenzufügen, und alle sind ohne weitere Kenntnisse über den Inhalt gleich sinnvoll (oder eher sinnlos). Vorher soll ich das halt mit irgendwelchen dateien machen, die in C:\ Temp liegen und alle dateien in eine nach D:\ Temp kloppen.Dann stell dir mal vor, in C:\temp liegen deine Auslagerungsdatei (pagefile.sys) und eine Textdatei mit dem Inhalt "Hund Katze Maus". Da für dich ja offenbar klar ist, was "mergen" heißt, müsstest du mir ja erklären können, wie die Zieldatei aussieht.
30. März 200916 j Autor Die Zieldatei müsste eine Datei (vorzugsweise Textdatei) mit dem Inhalt der beiden Dateien "Hund Katze Maus" und "pagefile.sys" sein. Also irgendwie... doch hinterinander weggeschrieben O.o
30. März 200916 j Sorry, aber auch ich werde aus Deinen Äußerungen kein bischen schlauer... Und ohne irgendeinen Anhaltspunkt, wie die Dateien im Orginal aufgebaut sind, und sie sie sortiert sein sollen, wirds nix werden. Wenn Du jedoch nach einer toootaaaaal kreativen Methode suchtst, beliebige Daten zu verwursteln, dann nimm doch einfach immer abwechselnd ein Bit jeder Datei und schreib das so in die neue Datei... Sorry, aber was sinnvolleres fällt mir anhand Deiner Infos nicht ein... tsg
30. März 200916 j Du kannst ja gern mal 2 .doc-Dateien in C:\Temp erstellen und per Hand so "mergen" wie du es meinst. Wirst ja merken (mergen ), was passiert, wenn man das Dateiformat nicht beachtet sondern einfach nur concatenate-Algorithmen (hab ich so rausgelesen) benutzt. :floet:
1. April 200916 j Autor Es soll so sein, wie ich von Hand z.B. Datei A öffne, STRG + A, STRG + C, Datei Z erstellen und STRG + V. Absatz. Dann Datei B öffnen, STRG + A, STRG + C, Datei Z öffnen und STRG + V.
1. April 200916 j Also sollst du die Dateien aneinanderhängen, mit einem Zeilenumbruch dazwischen? Das ist schon mal ein großer Schritt vorwärts. Dann ist meiner Meinung nach nur noch offen, in welcher Reihenfolge das geschehen soll. Kommt A vor B (und nicht etwa B vor A), weil die Dateinamen alphabetisch sortiert werden? Oder kommt da ein anderes Kriterium zum Tragen?
1. April 200916 j Autor Jo, z.B. 20 Dateien zu einer zusammenfassen, indem ich den inhalt aller 20 dateien in eine (vorzugsweise textdatei) prügel. Dateinamen von A - Z würde ich halt vorschlagen. also alphabetisch geordnet.
1. April 200916 j Es soll so sein, wie ich von Hand z.B. Datei A öffne, STRG + A, STRG + C, Datei Z erstellen und STRG + V. Absatz. Dann Datei B öffnen, STRG + A, STRG + C, Datei Z öffnen und STRG + V. Das ist mir schon klar, aber wenn du z.B. ein Word-Dokument öffnest, dann wird beim Dateien öffnen auch immer Word mit aufgemacht, um das Dateiformat sicherzustellen. So wie du es beschrieben hast, müsste man annehmen, dass eh alles Textdateien sind. [Edit] Sorry, nur erste Seite gelesen. Bearbeitet 1. April 200916 j von TDM
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.