Entwickler-Ecke

IO, XML und Registry - FileStream, Datein "fusionieren"


Ccenter - Mo 23.08.10 15:20
Titel: FileStream, Datein "fusionieren"
Moin moin,
ich probier gerade etwas mit FileStream rum, z.B. Datein zu erstellen oder zu verändern.
Nun kam mir die Frage ob man eigendlich Programme(exe Datein) fusionieren kann?
Hat zwar nicht wirklich einen Nutzen aber ich möchte das jetzt hinbekommen. Allein schon um zu lernen wie man in meinem Fall mit Bytearray umgeht.

Code:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
FileStream fs = File.OpenRead(@"C:\Users\Ccenter\Desktop\TestProgramm.exe");
            Byte[] b = new Byte[fs.Length];
            int read = fs.Read(b, 0, b.Length);
            

            
            FileStream fs2 = File.OpenRead(@"C:\Users\Ccenter\Desktop\TestProgramm2.exe");
            Byte[] b2 = new Byte[fs2.Length];
            int read2 = fs2.Read(b2, 0, b2.Length);


            Byte[] Endbyte = b[] + b2[]; //Hier ist mein Problem
            int endlength = read + read2;

            //StreamWriter swriter = new StreamWriter(@"C:\Users\Ccenter\Desktop\TestProgramm3.exe");
            //swriter.Write(fs);

            FileStream Writer = File.Create(@"C:\Users\Ccenter\Desktop\fusioniertesProgramm.exe");
            Writer.Write(Endbyte, 0, endlength);


Mein Problem liegt nun darin, dass ich nicht weiß wie ich die beiden Bytearrays addieren kann.


Th69 - Mo 23.08.10 15:50

Für EXE-Dateien macht das zwar keinen Sinn, aber generell einfach sequenziell:

C#-Quelltext
1:
2:
3:
FileStream writer = File.Create(@"fusioniertesProgramm.bin");
writer.Write(b);
writer.Write(b2);