/// <summary>
/// 将文件转换为二进制流进行读取
/// </summary>
/// <param name="fileName">文件完整名</param>
/// <returns>二进制流</returns>
private byte[] FileToBinary(string fileName)
{
try
{
FileStream fsRead = new FileStream(fileName, FileMode.Open, FileAccess.Read);
if (fsRead.CanRead)
{
int fsSize = Convert.ToInt32(fsRead.Length);
byte[] btRead = new byte[fsSize];
fsRead.Read(btRead, 0, fsSize);
return btRead;
}
else
{
MessageBox.Show("文件读取错误!");
return null;
}
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
return null;
}
}
/// <summary>
/// 将二进制流转换为对应的文件进行存储
/// </summary>
/// <param name="filePath">接收的文件</param>
/// <param name="btBinary">二进制流</param>
/// <returns>转换结果</returns>
private bool BinaryToFile(string fileName, byte[] btBinary)
{
bool result = false;
try
{
FileStream fsWrite = new FileStream(fileName, FileMode.Create, FileAccess.Write);
if (fsWrite.CanWrite)
{
fsWrite.Write(btBinary, 0, btBinary.Length);
MessageBox.Show("文件写入成功!");
result = true;
}
else
{
MessageBox.Show("文件些入错误!");
result = false;
}
}
catch (Exception ce)
{
MessageBox.Show(ce.Message);
result = false;
}
return result;
}
/// <summary>
/// 判断文件是否存在
/// </summary>
/// <param name="fileName">文件完整的路径名</param>
/// <param name="nodeTipText">文件名</param>
/// <returns>判断结果</returns>
private bool JudgeFileExists(string fileName, string nodeTipText)
{
if (File.Exists(fileName))
{
StringBuilder sbError = new StringBuilder();
sbError.Append(nodeTipText + "已存在于:\n");
sbError.Append(fileName.Substring(0, fileName.LastIndexOf("\\")) + "\n");
sbError.Append("中,是否覆盖原文件?");
string strSearch = MessageBox.Show(sbError.ToString(), "提示", MessageBoxButtons.YesNo).ToString();
if (strSearch == "Yes")
{
return true;
}
else
{
return false;
}
}
else
{
return true;
}
}