2013-03-30 4 views
0

Я хотел бы добавить байт-массив в существующий файл. Это должно быть быть в конце файла. Я уже успел написать в начале файла. (Благодаря stackoverflow;)).Добавить массив байтов в конце файла

Код для этого:

public bool ByteArrayToFile(string _FileName, byte[] _ByteArray) 
{ 
    try 
    { 
     // Open file for reading 
     System.IO.FileStream _FileStream = 
     new System.IO.FileStream(_FileName, System.IO.FileMode.Create, 
            System.IO.FileAccess.Write); 
    // Writes a block of bytes to this stream using data from 
    // a byte array. 
    _FileStream.Write(_ByteArray, 0, _ByteArray.Length); 

    // close file stream 
    _FileStream.Close(); 

    return true; 
    } 
catch (Exception _Exception) 
{ 
    // Error 
    Console.WriteLine("Exception caught in process: {0}", 
        _Exception.ToString()); 
} 

// error occured, return false 
return false; 

}

Понял здесь:

Link

Но мне это нужно в конце файла

Спасибо авансовый.

Найдено решение:

FileStream writeStream; 
     try 
     { 
      writeStream = new FileStream(_FileName, FileMode.Append,FileAccess.Write); 
      BinaryWriter writeBinay = new BinaryWriter(writeStream); 
      writeBinay.Write(_ByteArray); 
      writeBinay.Close(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.ToString()); 
     } 

ответ

4

Вместо использования System.IO.FileMode.Create, использовать System.IO.FileMode.Append - это именно то, что вам нужно.

От FileMode Enumeration на MSDN:

Append: Открывает файл, если он существует, и стремится к концу файла, или создает новый файл. Для этого требуется разрешение FileIOPermissionAccess.Append. FileMode.Append может использоваться только в сочетании с FileAccess.Write. Попытка найти позицию до конца файла вызывает исключение IOException, и любая попытка прочитать сбой и выбрасывает исключение NotSupportedException.

+0

слишком быстро !!! : P –

+0

Я уже пробовал. Не работает. По крайней мере для меня. Не могли бы вы дать мне какой-то Кодекс, который работает на вас? –

+0

Что означает «не работает»? Что вы получаете? – Oded

Смежные вопросы