Ich bin derzeit auf die Aufgabe, eine c#-Anwendung zu schreiben, die zwischen zwei bestehenden Anwendungen sitzen wird. Alles, was ich über die zweite Anwendung weiß, ist, dass sie Dateien verarbeitet, die von der ersten Anwendung erzeugt werden. Die erste Anwendung ist in Cobol geschrieben.
Schritte: 1) Cobol-Anwendung, schreibt einige Dateien und kopiert sie in ein Verzeichnis. 2) Die zweite Anwendung holt diese Dateien ab und verarbeitet sie.
Meine C#-Anwendung würde zwischen 1) und 2) liegen. Sie müsste die von 1) erzeugte Datei abholen, lesen, ändern und speichern, so dass die Anwendung 2) nicht wissen würde, dass ich überhaupt da war.
Ich habe ein paar Probleme.
- Wenn ich eine mit 1) erzeugte Datei in Notepad öffne, ist der größte Teil davon unlesbar, während andere Teile lesbar sind.
- Wenn ich die Datei lese, sie ändere und speichere, muss ich die Datei in der gleichen Notation speichern, die auch die Cobol-Anwendung verwendet, damit Anwendung 2) nicht weiß, dass ich dort war.
Ich habe versucht, die Datei auf diese Weise zu lesen, aber sie ist immer noch unlesbar:
Code:
string ss = @"filename";
using (FileStream fs = new FileStream(ss, FileMode.Open))
{
StreamReader sr = new StreamReader(fs);
string gg = sr.ReadToEnd();
}
Auch wenn ich einen Weg finde, sie lesbar zu machen (mit einer Art Kodierungstechnik), befürchte ich, dass ich beim erneuten Speichern der Datei ihr ursprüngliches Format ändern könnte.
Haben Sie eine Idee? Vorschläge?