Use "WriteByte" instead of "WriteBytes":
public byte[] readfile(string FPath)
{
byte[] data = null;
try
{
FileInfo FI = new FileInfo(FPath);
long numbytes = FI.Length;
FileStream fstream = new FileStream(FPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fstream);
MemoryStream ms = new MemoryStream();
for (long i = 0; i < numbytes; i++)
{
ms.WriteByte(br.ReadByte());
}
ms.Close();
fstream.Close();
data = ms.ToArray();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
return data;
}