备忘吧,呵呵
Code
/***************************************************************************************************
* Filename: IOVideoStream.cs
* Module: 文件操作类
* Copyright: 2008 穗联软件 版权所有
* Author: 周林郁
* Created Date: 2008-10-20
* Last Modified Data:
* Description:
***************************************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace MonitorService
{
public class IOVideoStream
{
#region 构造函数
public IOVideoStream()
{
//构造函数
}
#endregion
/// <summary>
/// 删除本地文件
/// </summary>
/// <param name="strFileName">文件的路径:D:\temp\xxx.htm</param>
/// <returns></returns>
public bool DelLocalFile(string strFileName)
{
try
{
if (File.Exists(strFileName))
{
File.Delete(strFileName);
}
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 删除几天前的文件
/// </summary>
/// <param name="strFileName">文件路径:D:\temp\xxx.htm</param>
/// <param name="dayago">多少天前:7,删除7天前的文件</param>
/// <returns>true or false</returns>
public bool DelLocalFile(string strFileName, int dayago)
{
try
{
if (!File.Exists(strFileName))
{
//文件不存在
return false;
}
DateTime FileLastModifyTime = File.GetLastWriteTime(strFileName);//文件最后更新时间
//这部分的文件,可能会漏传,因此,时间往前移5分钟
if (DateTime.Now.AddDays(-dayago) >= FileLastModifyTime)
{
//删除历史文件
File.Delete(strFileName);
return true;
}
else
{
return false;//文件没有更新
}
}
catch { return false; }
}
/// <summary>
/// 删除一批文件
/// </summary>
/// <param name="strFolder">本地目录(不得以\结束)</param>
/// <param name="strFileNameMask">文件名匹配字符(可以包含*和?)</param>
public void DelAllFile(string strFolder, string strFileNameMask)
{
string[] strFiles = Directory.GetFiles(strFolder, strFileNameMask);
foreach (string strFile in strFiles)
{
DelLocalFile(strFile);
}
}
/// <summary>
/// 删除一批多少天前的文件
/// </summary>
/// <param name="strFolder">本地目录(不得以\结束)</param>
/// <param name="strFileNameMask">文件名匹配字符(可以包含*和?)</param>
/// <param name="dayago">多少天前,例如:7</param>
public void DelAllFile(string strFolder, string strFileNameMask,int dayago)
{
string[] strFiles = Directory.GetFiles(strFolder, strFileNameMask);
foreach (string strFile in strFiles)
{
DelLocalFile(strFile, dayago);
}
}
#region ReadTextFile 读取文本文件返回字符串
/// <summary>
/// 读取文本文件
/// </summary>
/// <param name="strFilePath">文本文件的路径</param>
/// <returns>返回文本文件内容的字符串</returns>
public string ReadTextFile(string strFilePath)
{
try
{
System.IO.StreamReader sr = new System.IO.StreamReader(strFilePath, System.Text.Encoding.Default);
return sr.ReadToEnd();
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region ReadBinaryFile 读取二进制文件
/// <summary>
/// 读取二进制文件
/// </summary>
/// <param name="strFilePath">文件路径</param>
/// <returns>返回二进制的BYTE数组</returns>
public byte[] ReadBinaryFile(string strFilePath)
{
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
return br.ReadBytes((int)br.BaseStream.Length);
}
#endregion
#region WriteTextFile 写入文本文件
/// <summary>
/// 将数据写入到文本文件
/// </summary>
/// <param name="strFilePath">写入到的位置</param>
/// <param name="strData">要写入的数据</param>
/// <returns>如果成功写入,返回True</returns>
public bool WriteTextFile(string strFilePath, string strData)
{
try
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false, System.Text.Encoding.Default);
sw.Write(strData);
sw.Close();
return true;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region WriteBinayFile 写入二进制数据文件
/// <summary>
/// 将二进制数据写到文件
/// </summary>
/// <param name="strFilePath">文件路径</param>
/// <param name="byteArray">二进制数据</param>
/// <returns>如果操作成功,则返回True</returns>
public bool WriteBinaryFile(string strFilePath, byte[] byteArray)
{
try
{
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, FileMode.Create, FileAccess.Write, FileShare.None);
System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
bw.Write(byteArray);
bw.Close();
fs.Close();
return true;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region 写入随机文件(3次重载)
/// <summary>
/// 将数据写入到磁盘的一个随机文件中
/// </summary>
/// <remarks>本方法将数据写入到磁盘的一个随机文件,随机文件的目录根据系统环境变量Temp
/// 进行获取,如果无法获取此值,则本方法会直接访问调用程序的启动目录下的Temp目录,如果
/// 不存在此目录,将创建此目录</remarks>
/// <param name="strExtend">随机文件的扩展名</param>
/// <param name="strData">要写入的数据</param>
/// <returns>返回随机文件的物理磁盘路径</returns>
public string WriteRndFile(string strExtend, string strData)
{
string strFolderName;
try
{
strFolderName = System.Environment.GetEnvironmentVariable("Temp");
}
catch
{
strFolderName = System.Environment.CurrentDirectory;
if (!System.IO.Directory.Exists(strFolderName + @"\Temp"))
{
System.IO.Directory.CreateDirectory(strFolderName + @"\Temp");
}
strFolderName += @"\Temp";
}
return WriteRndFile(strFolderName, strExtend, strData);
}
/// <summary>
/// 将数据写入到磁盘的一个随机文件中
/// </summary>
/// <param name="strFolderName">随机文件的保存目录</param>
/// <param name="strExtend">随机文件的扩展名</param>
/// <param name="strData">要写入的数据</param>
/// <returns>返回随机文件的物理磁盘路径</returns>
public string WriteRndFile(string strFolderName, string strExtend, string strData)
{
return WriteRndFile(strFolderName, "_BYS", strExtend, strData);
}
/// <summary>
/// 将strData数据写入到一个随机产生的文件中。该随机文件由指定的前缀和最长5位随机序列
/// 以及扩展名构成的,比如PM21486.htm
/// </summary>
/// <param name="strFolderName">随机文件的保存目录</param>
/// <param name="strPrefix">文件名前缀</param>
/// <param name="strExtend">文件扩展名</param>
/// <param name="strData">文件数据</param>
/// <returns>返回最后得到的随机文件路径</returns>
public string WriteRndFile(string strFolderName, string strPrefix, string strExtend, string strData)
{
try
{
Random rnd = new Random();
string strFilePath = strFolderName + "\\" + strPrefix;
strFilePath += ((int)(rnd.Next(1, 100000))).ToString() + "." + strExtend;
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false,
System.Text.Encoding.GetEncoding("gb2312"));
sw.Write(strData);
sw.Close();
return strFilePath;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
}
}
/***************************************************************************************************
* Filename: IOVideoStream.cs
* Module: 文件操作类
* Copyright: 2008 穗联软件 版权所有
* Author: 周林郁
* Created Date: 2008-10-20
* Last Modified Data:
* Description:
***************************************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace MonitorService
{
public class IOVideoStream
{
#region 构造函数
public IOVideoStream()
{
//构造函数
}
#endregion
/// <summary>
/// 删除本地文件
/// </summary>
/// <param name="strFileName">文件的路径:D:\temp\xxx.htm</param>
/// <returns></returns>
public bool DelLocalFile(string strFileName)
{
try
{
if (File.Exists(strFileName))
{
File.Delete(strFileName);
}
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 删除几天前的文件
/// </summary>
/// <param name="strFileName">文件路径:D:\temp\xxx.htm</param>
/// <param name="dayago">多少天前:7,删除7天前的文件</param>
/// <returns>true or false</returns>
public bool DelLocalFile(string strFileName, int dayago)
{
try
{
if (!File.Exists(strFileName))
{
//文件不存在
return false;
}
DateTime FileLastModifyTime = File.GetLastWriteTime(strFileName);//文件最后更新时间
//这部分的文件,可能会漏传,因此,时间往前移5分钟
if (DateTime.Now.AddDays(-dayago) >= FileLastModifyTime)
{
//删除历史文件
File.Delete(strFileName);
return true;
}
else
{
return false;//文件没有更新
}
}
catch { return false; }
}
/// <summary>
/// 删除一批文件
/// </summary>
/// <param name="strFolder">本地目录(不得以\结束)</param>
/// <param name="strFileNameMask">文件名匹配字符(可以包含*和?)</param>
public void DelAllFile(string strFolder, string strFileNameMask)
{
string[] strFiles = Directory.GetFiles(strFolder, strFileNameMask);
foreach (string strFile in strFiles)
{
DelLocalFile(strFile);
}
}
/// <summary>
/// 删除一批多少天前的文件
/// </summary>
/// <param name="strFolder">本地目录(不得以\结束)</param>
/// <param name="strFileNameMask">文件名匹配字符(可以包含*和?)</param>
/// <param name="dayago">多少天前,例如:7</param>
public void DelAllFile(string strFolder, string strFileNameMask,int dayago)
{
string[] strFiles = Directory.GetFiles(strFolder, strFileNameMask);
foreach (string strFile in strFiles)
{
DelLocalFile(strFile, dayago);
}
}
#region ReadTextFile 读取文本文件返回字符串
/// <summary>
/// 读取文本文件
/// </summary>
/// <param name="strFilePath">文本文件的路径</param>
/// <returns>返回文本文件内容的字符串</returns>
public string ReadTextFile(string strFilePath)
{
try
{
System.IO.StreamReader sr = new System.IO.StreamReader(strFilePath, System.Text.Encoding.Default);
return sr.ReadToEnd();
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region ReadBinaryFile 读取二进制文件
/// <summary>
/// 读取二进制文件
/// </summary>
/// <param name="strFilePath">文件路径</param>
/// <returns>返回二进制的BYTE数组</returns>
public byte[] ReadBinaryFile(string strFilePath)
{
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
return br.ReadBytes((int)br.BaseStream.Length);
}
#endregion
#region WriteTextFile 写入文本文件
/// <summary>
/// 将数据写入到文本文件
/// </summary>
/// <param name="strFilePath">写入到的位置</param>
/// <param name="strData">要写入的数据</param>
/// <returns>如果成功写入,返回True</returns>
public bool WriteTextFile(string strFilePath, string strData)
{
try
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false, System.Text.Encoding.Default);
sw.Write(strData);
sw.Close();
return true;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region WriteBinayFile 写入二进制数据文件
/// <summary>
/// 将二进制数据写到文件
/// </summary>
/// <param name="strFilePath">文件路径</param>
/// <param name="byteArray">二进制数据</param>
/// <returns>如果操作成功,则返回True</returns>
public bool WriteBinaryFile(string strFilePath, byte[] byteArray)
{
try
{
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, FileMode.Create, FileAccess.Write, FileShare.None);
System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
bw.Write(byteArray);
bw.Close();
fs.Close();
return true;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
#region 写入随机文件(3次重载)
/// <summary>
/// 将数据写入到磁盘的一个随机文件中
/// </summary>
/// <remarks>本方法将数据写入到磁盘的一个随机文件,随机文件的目录根据系统环境变量Temp
/// 进行获取,如果无法获取此值,则本方法会直接访问调用程序的启动目录下的Temp目录,如果
/// 不存在此目录,将创建此目录</remarks>
/// <param name="strExtend">随机文件的扩展名</param>
/// <param name="strData">要写入的数据</param>
/// <returns>返回随机文件的物理磁盘路径</returns>
public string WriteRndFile(string strExtend, string strData)
{
string strFolderName;
try
{
strFolderName = System.Environment.GetEnvironmentVariable("Temp");
}
catch
{
strFolderName = System.Environment.CurrentDirectory;
if (!System.IO.Directory.Exists(strFolderName + @"\Temp"))
{
System.IO.Directory.CreateDirectory(strFolderName + @"\Temp");
}
strFolderName += @"\Temp";
}
return WriteRndFile(strFolderName, strExtend, strData);
}
/// <summary>
/// 将数据写入到磁盘的一个随机文件中
/// </summary>
/// <param name="strFolderName">随机文件的保存目录</param>
/// <param name="strExtend">随机文件的扩展名</param>
/// <param name="strData">要写入的数据</param>
/// <returns>返回随机文件的物理磁盘路径</returns>
public string WriteRndFile(string strFolderName, string strExtend, string strData)
{
return WriteRndFile(strFolderName, "_BYS", strExtend, strData);
}
/// <summary>
/// 将strData数据写入到一个随机产生的文件中。该随机文件由指定的前缀和最长5位随机序列
/// 以及扩展名构成的,比如PM21486.htm
/// </summary>
/// <param name="strFolderName">随机文件的保存目录</param>
/// <param name="strPrefix">文件名前缀</param>
/// <param name="strExtend">文件扩展名</param>
/// <param name="strData">文件数据</param>
/// <returns>返回最后得到的随机文件路径</returns>
public string WriteRndFile(string strFolderName, string strPrefix, string strExtend, string strData)
{
try
{
Random rnd = new Random();
string strFilePath = strFolderName + "\\" + strPrefix;
strFilePath += ((int)(rnd.Next(1, 100000))).ToString() + "." + strExtend;
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false,
System.Text.Encoding.GetEncoding("gb2312"));
sw.Write(strData);
sw.Close();
return strFilePath;
}
catch (Exception e)
{
throw (e);
}
}
#endregion
}
}