资源管理器 C#文档 内涵资源链接

写好的资源链接 (1积分)http://download.csdn.net/detail/give_me_energy/9537598

操作系统文档

 

 

孙飞  201300*00***

2016/5/26

 

 


 

姓名:孙飞 

学号:201300*00***  

专业:软件工程 

班级:一班  

手机:***********

题目:文件的操作


1属性窗口:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using FileExplorer;

 

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public static string oldname= null;//静态变量,由rename.cs调用,重命名时获取原名,后边还有一个静态方法,是rename调用form1的刷新方法的静态操作。

        privatestring currentPath ="";//当前路径

        privatestring[] sources =newstring[100];  //复制文件的源路径

        privatebool IsMove =false;    //是否移动

 

        publicForm1()

        {

            InitializeComponent();

        }

 

 

        //列出磁盘

        privatevoid ListDrivers()

        {

            treeView1.Nodes.Clear();

            listView1.Items.Clear();

            currentPath = "";

            toolStripComboBox1.Text =currentPath;

            DriveInfo[]drivers =DriveInfo.GetDrives();//检索计算机上的所有逻辑驱动器的驱动器名称。

 

            //列表列出每一个驱动器

            for(int i = 0; i < drivers.Length; i++)

            {

                DriveInfodriver = drivers[i];

                TreeNodenode = treeView1.Nodes.Add(driver.Name);//定义一个TreeNode节点类型对象,添加treeView1控件的根节点Nodes,也就是adddriver.name

                ListViewItemitem = listView1.Items.Add(driver.Name);//先把driver.name加到listview1中,然后把listview1的条目添加到

                item.Name = driver.Name;

                //判断驱动器类型,用不同图标显示

                switch(driver.DriveType)

                {

                    caseDriveType.CDRom:  //光驱

                        {

                            node.ImageIndex =1;

                           node.SelectedImageIndex = 1;

                            item.ImageIndex =1;

                            break;

                        }

                    default:    //默认,显示为磁盘图标

                        {

                            node.ImageIndex = 0;

                           node.SelectedImageIndex = 0;

                            item.ImageIndex =0;

                            break;

                        }

                }

 

            }

 

            foreach(TreeNode nodeintreeView1.Nodes)

            {

                NodeUpdate(node);//更新结点。

            }

        }

 

 

 

        //更新结点(列出当前目录下的子目录,在左侧栏)

        privatevoid NodeUpdate(TreeNodenode)

        {

            try

            {

                node.Nodes.Clear();

                DirectoryInfodir =new DirectoryInfo(node.FullPath);//用于创建、移动和枚举目录和子目录的实例方法      

                DirectoryInfo[]dirs = dir.GetDirectories();//查看目录的子目录。              

                foreach(DirectoryInfo dindirs)

                {

                    node.Nodes.Add(d.Name);//将其子目录录入传进来的node中,也就是treeView1.Nodes

                }

            }

            catch

            {

            }

        }

 

        //更新列表(列出当前目录下的目录和文件)

        public void ListUpdate(stringnewPath)

        {

            if(newPath == "")

                ListDrivers();

            else

            {

                try

                {

                    DirectoryInfocurrentDir =new DirectoryInfo(newPath);

                    DirectoryInfo[]dirs = currentDir.GetDirectories();//获取目录

                    FileInfo[]files = currentDir.GetFiles();  //获取文件

                    //删除ImageList中的程序图标

                    foreach(ListViewItem iteminlistView1.Items)

                    {

                        if (item.Text.EndsWith(".exe")) //是程序

                        {

                           imageList2.Images.RemoveByKey(item.Text);

                           imageList3.Images.RemoveByKey(item.Text);

                        }

                    }

                   listView1.Items.Clear();

 

                    //接下来是listview列出的项,先列出文件夹,在列出文件

                    //列出文件夹

                   foreach(DirectoryInfo dirindirs)

                    {

                        ListViewItem dirItem = listView1.Items.Add(dir.Name, 2);//文件名

                      

                        dirItem.Name =dir.FullName;//文件的路径

                        dirItem.SubItems.Add("");//subitems.add方法添加一列中的数据,在这里每一次循环,就在这一列添加了数据

                       

                        dirItem.SubItems.Add("文件夹");

                       dirItem.SubItems.Add(dir.LastWriteTimeUtc.ToString());

                    }

                   

                    //列出文件

                    foreach(FileInfo fileinfiles)

                    {

                        ListViewItem fileItem = listView1.Items.Add(file.Name);

                        if (file.Extension ==".exe"|| file.Extension == "")   //程序文件或无扩展名

                        {

                            Icon fileIcon =GetSystemIcon.GetIconByFileName(file.FullName);

                           imageList2.Images.Add(file.Name, fileIcon);

                           imageList3.Images.Add(file.Name, fileIcon);

                            fileItem.ImageKey =file.Name;

                        }

                        else    //其它文件

                        {

                            if(!imageList2.Images.ContainsKey(file.Extension)) //ImageList中不存在此类图标

                            {

                                IconfileIcon =GetSystemIcon.GetIconByFileName(file.FullName);

                               imageList2.Images.Add(file.Extension, fileIcon);

                              imageList3.Images.Add(file.Extension, fileIcon);

                            }

                            fileItem.ImageKey =file.Extension;

                        }

                        fileItem.Name =file.FullName;

                       fileItem.SubItems.Add(file.Length.ToString() +"字节");

                        fileItem.SubItems.Add(file.Extension);

                       fileItem.SubItems.Add(file.LastWriteTimeUtc.ToString());

                    }

                    currentPath = newPath;

                    toolStripComboBox1.Text =currentPath;   //更新地址栏

                

                }

                catch(Exception ex)

                {

                    MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);

                }

            }

        }

 

        //打开文件夹或文件

        privatevoid Open()

        {

            if(listView1.SelectedItems.Count > 0)

            {

                stringnewPath = listView1.SelectedItems[0].Name;

                try

                {

                    //判断是目录还是文件

                    if(Directory.Exists(newPath))//是目录

                        ListUpdate(newPath);

                    else

                        Process.Start(newPath);//打开文件

                }

                catch(Exception ex)

                {

                    MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);

                }

            }

        }

 

        //显示属性窗口

        privatevoid ShowAttributes()

        {

            if(listView1.SelectedItems.Count == 0)//无对象选中时,显示当前文件夹属性

            {

                FormAttributeFormAttributes1 =new FormAttribute(currentPath);

            }

            else    //有对象选中时,显示第一个选中对象的属性

            {

                FormAttributeFormAttributes1 =new FormAttribute(listView1.SelectedItems[0].Name);

            }

        }      

 

 

        //装载主界面时的操作

        privatevoid Form1_Load(objectsender,EventArgs e)

        {

            ListDrivers();

        }

 

        privatevoid treeView1_AfterSelect(object sender,TreeViewEventArgse)

        {

            e.Node.Expand();//展开下一级节点

            ListUpdate(e.Node.FullPath);

        }

 

        //listview1的操作,双击操作,此处为双击打开文件

        privatevoid listView1_ItemActivate(object sender,EventArgse)

        {

            Open();

        }

 

        //返回上一层

        privatevoid toolStripButton1_Click(object sender,EventArgse)

        {

            if(currentPath == "")

                return;

            DirectoryInfodir =new DirectoryInfo(currentPath);

            /*

              DirectoryInfo类用于典型操作,如复制、移动、重命名、创建和删除目录。

             如果打算多次重用某个对象,可考虑使用 DirectoryInfo的实例方法,而不是 Directory类的相应静态方法,因为并不总是需要安全检查。

             */

            if(dir.Parent != null)

            {

               ListUpdate(dir.Parent.FullName);//刷新路径下的文件

            }

            else

            {

                ListDrivers();//重新装载磁盘信息

            }

        }

 

 

       //上下文菜单代码,是一个contextMenuStrip,里边有新建文件夹,属性,删除,重命名,刷新操作。

        privatevoid contextMenuStrip1_Opening(object sender,CancelEventArgse)

        {

            Pointpoint = listView1.PointToClient(Cursor.Position);

            ListViewItemitem = listView1.GetItemAt(point.X, point.Y);  //获得鼠标坐标处的ListViewItem

            if(item == null)  //当前位置没有ListViewItem

            {

              //默认情况下都是true

                新建文件夹ToolStripMenuItem.Visible = true;

                属性ToolStripMenuItem.Visible = false;

                删除ToolStripMenuItem1.Visible = false;

                重命名ToolStripMenuItem.Visible = false;

                //什么场合下都可以刷新。

            }

            else    //

            {

 

                新建文件夹ToolStripMenuItem.Visible = false;

                属性ToolStripMenuItem.Visible = true;

                删除ToolStripMenuItem1.Visible = true;

                重命名ToolStripMenuItem.Visible = true;

 

            }

        }

        //设置属性的点击事件

        privatevoid 属性ToolStripMenuItem1_Click_1(object sender,EventArgse)

        {

            ShowAttributes();

        }

        //设置新建文件夹的点击事件

        privatevoid 新建文件夹ToolStripMenuItem_Click_1(object sender,EventArgse)

        {

            CreateFolder();

        }

 

 

        //新建文件夹

        privatevoid CreateFolder()

        {

            try

            {

                //Path.Combine将两个字符串组合成一个路径。返回字符串。

                stringpath = Path.Combine(currentPath, "新建文件夹");//对包含文件或目录路径信息的 String实例执行操作

                inti = 1;

                stringnewPath = path;

                while(Directory.Exists(newPath))

                {

                    newPath = path + i;

                    i++;

                }

                Directory.CreateDirectory(newPath);//新建文件

                listView1.Items.Add(newPath, "新建文件夹" + (i - 1 == 0 ?"": (i - 1).ToString()), 2);

            }

            catch(Exception ex)

            {

                MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);

            }

        }

 

        //删除

        privatevoid Delete()

        {

            if(listView1.SelectedItems.Count == 0)

                return;

            DialogResultresult =MessageBox.Show("确定要删除吗?","确认删除",MessageBoxButtons.YesNo,MessageBoxIcon.Information);

            if(result == DialogResult.No)

                return;

            try

            {

                foreach(ListViewItem iteminlistView1.SelectedItems)

                {

                    stringpath = item.Name;//获取项目的绝对路径

                    if(File.Exists(path)) //如果存在文件

                    {

                        File.Delete(path);

                     }

                    elseif (Directory.Exists(path))

                    {   

                        //如果存在目录

                        Directory.Delete(path,true);//Directory 类公开用于创建、移动和枚举通过目录和子目录的静态方法。此类无法继承

                    }

                        /*

                     Directory的方法:

                     * CreateDirectory   已重载。创建指定路径中的所有目录。

                        Delete            已重载。删除指定的目录。

                        Equals            已重载。确定两个 Object实例是否相等。(从 Object继承。)

                        Exists             确定给定路径是否引用磁盘上的现有目录。

                     */

                    //列表中移除

                   listView1.Items.Remove(item);

                }

            }

            catch(Exception ex)

            {

                MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);

            }

        }

       // 右键单击的删除

        privatevoid 删除ToolStripMenuItem1_Click(object sender,EventArgse)

        {

            Delete();

        }

        //右键单击的重命名

        privatevoid 重命名ToolStripMenuItem_Click(object sender,EventArgse)

        {

            foreach(ListViewItem iteminlistView1.SelectedItems)

            {

                oldname = item.Name;

            }

            newrename(this).Show();

        }

        //右键单击的刷新

        privatevoid 刷新ToolStripMenuItem_Click(object sender,EventArgse)

        {

            ListUpdate(currentPath);

        }

 

 

        //存根,因为在rename中更新完文件名后需要刷新form1的内容,用到了修改构造方法,这时rename.cs调用form1的更新函数的时候就需要在form1中先进行存根。

        internalvoid toolStripButton2_Click()

        {

            ListUpdate(currentPath);

        }

 

 

        privatevoid toolStripButton3_Click(object sender,EventArgse)

        {

            stringnewPath = toolStripComboBox1.Text;

            if(newPath == "")

                return;

            ListUpdate(newPath);

        }

 

        privatevoid 关闭系统ToolStripMenuItem_Click(object sender,EventArgse)

        {

            this.Close();

        }

 

        privatevoid 关于ToolStripMenuItem_Click(object sender,EventArgse)

        {

            newabout().Show();

        }

    }

}

 

2属性窗口:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

 

 

namespace WindowsFormsApplication1

{

    public partial class FormAttribute : Form

    {

         publicFormAttribute(string path)

        {

            InitializeComponent();

             if(Directory.Exists(path))

            {               

                DirectoryInfodir =new DirectoryInfo(path);

                this.FileName= dir.Name;

                this.FileType= "文件夹";

                this.FileLocation= (dir.Parent !=null) ? dir.Parent.FullName : null;

                this.FileCreationTime= dir.CreationTime.ToString();

                this.FileLastWriteTime= dir.LastAccessTimeUtc.ToString();

                this.FileLastAccessTime= dir.LastAccessTimeUtc.ToString();

                //this.FileLength= dir.

               

            }

            elseif (File.Exists(path))

            {

                FileInfofile =new FileInfo(path);

                this.FileName= file.Name;

                this.FileType= file.Extension;

                this.FileLocation= (file.DirectoryName !=null) ?file.DirectoryName : null;

                this.FileCreationTime= file.CreationTime.ToString();

                this.FileLastWriteTime= file.LastAccessTimeUtc.ToString();

                this.FileLastAccessTime= file.LastAccessTimeUtc.ToString();

                this.FileLength= file.Length.ToString() +" 字节";

            }

            this.Show();

 

        }

 

 

         publicstring FileName

        {

            get{ return textBox1.Text;}

            set{ textBox1.Text = value; }

        }

 

        public string FileType

        {

            get{ return textBox2.Text; }

            set{ textBox2.Text = value; }

        }

 

        public stringFileLocation

        {

            get{ return textBox3.Text;}

            set{ textBox3.Text = value; }

        }

 

        public string FileLength

        {

            get{ return textBox4.Text; }

            set{ textBox4.Text = value; }

        }

 

        public string FileCreationTime

        {

            get{ return textBox5.Text; }

            set{ textBox5.Text = value; }

        }

 

        public string FileLastWriteTime

        {

            get{ return textBox6.Text; }

            set{ textBox6.Text = value; }

        }

 

        public string FileLastAccessTime

        {

            get{ return textBox7.Text; }

            set{ textBox7.Text = value; }

        }

 

        privatevoid button1_Click(objectsender,EventArgs e)

        {

            this.Close();

        }

 

        privatevoid FormAttribute_Load(object sender,EventArgs e)

        {

 

        }

 

    }

    }

 

 

 

3重命名文件名窗口:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

 

namespace WindowsFormsApplication1

{

    public partial class rename : Form

    {

        privateForm1 f1;

        publicrename(Form1 f1)

        {

            InitializeComponent();

            this.f1= f1;

        }

 

        privatevoid rename_Load(objectsender,EventArgs e)

        {

            textBox1.Text = Form1.oldname;

        }

 

        privatevoid button1_Click(objectsender,EventArgs e)

        {

            // 列表中的原始文件全路径名

            stringoldStr = textBox1.Text.ToString().Trim();

            // 新文件名

           

            string[]newname = oldStr.Split('\\');

            stringnewStr = "";

            for(int i = 0; i < newname.Length - 1; i++)

            {

                newStr += newname[i];

                newStr+="\\";

            }

            newStr +=textBox2.Text.ToString().Trim();

          

            // 改名方法

            FileInfofi = new FileInfo(oldStr);

            fi.MoveTo(Path.Combine(newStr));

            //关闭窗口,并刷新主界面

            f1.toolStripButton2_Click();

            this.Close();

        }

    }

}

 

4关于作者窗口

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace WindowsFormsApplication1

{

    public partial class about : Form

    {

        publicabout()

        {

            InitializeComponent();

        }

 

        privatevoid about_Load(objectsender,EventArgs e)

        {

 

        }

    }

}

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值