在文件末尾追加字节数组 [英] Append Byte Array at the End of an File
本文介绍了在文件末尾追加字节数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要将字节数组追加到现有文件。它必须位于文件的末尾。我已经可以设法在文件的开头写了。(由于堆栈溢出;))。
代码:
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;
}
从此处获取:
但我需要它放在文件末尾
提前谢谢。
找到解决方案:
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());
}
推荐答案
不使用System.IO.FileMode.Create
,而使用System.IO.FileMode.Append
-它正好执行您需要的操作。
来自MSDN:
上的FileMode
Enumeration
追加:如果文件存在,则打开该文件并查找到文件末尾,或创建一个新文件。这需要FileIOPermissionAccess.Append
权限。FileMode.Append
只能与FileAccess.Write
一起使用。尝试查找到文件结尾之前的位置会引发IOException
异常,而任何读取尝试都会失败并引发NotSupportedException
异常。
这篇关于在文件末尾追加字节数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文