2017-01-25 2 views
0

Я пытаюсь закодировать связующее файл.C# Объедините два файла для запуска через выходной файл - File Binder

Я объединил массив байтов из двух файлов, которые нужно записать в выходной файл.

Кажется, что я объединяю эти два файла вместо их связывания, потому что я хочу иметь возможность запускать оба файла при запуске выходного файла.

Есть ли способ объединить два массива, но разбить их во время выполнения, чтобы иметь возможность запускать оба файла?

или есть ли какой-либо другой способ я могу закодировать файл связующего?

Код:

private void button3_Click(object sender, EventArgs e) 
    { 
     if(textBox1.Text != null & textBox2.Text !=null) 
     { 
      string filepath1 = this.textBox1.Text; 
      byte[] Bytes1 = File.ReadAllBytes(filepath1); 

      string filepath2 = this.textBox2.Text; 
      byte[] Bytes2 = File.ReadAllBytes(filepath2); 

      byte[] combinedbytes = new byte[Bytes1.Length + Bytes2.Length]; 

      Array.Copy(Bytes1, 0, combinedbytes, 0, Bytes1.Length); 
      Array.Copy(Bytes2, 0, combinedbytes, Bytes1.Length, Bytes2.Length); 

      File.WriteAllBytes(outfile, combinedbytes); 

     } 

ответ

0

Да, это возможно, но не без промежуточного файла или промежуточной структуры.

  1. Вы можете сохранить в отдельном файле, длину обоих байтовых массивов.
File.WriteAllLines(path, new[] { Bytes1.Length, Bytes2.Length }); 

byte[] Bytes1 = new byte[File.ReadLines(path)[0]]; 
byte[] Bytes2 = new byte[File.ReadLines(path)[1]]; 

Затем загрузите эти 2 файла и выполнить Array.Copy из вашего объединенного файла. Для разделения массивов

  1. Используйте один текст (может быть двоичным) и создайте структуру, чтобы вы знали длину объединенных массивов и их содержимое. JSON должен работать на вас.
{ 
    Bytes1: //Your bytes here, 
    Bytes2: //Your second bytes here 
} 
Смежные вопросы