IO流的应用————小型资源管理器
小型资源管理器


private void LoadTreeView()
{
DirectoryInfo dir = new DirectoryInfo(@"E:\");
DirectoryInfo[] dirs= dir.GetDirectories();
foreach (DirectoryInfo item in dirs)
{
TreeNode tn = new TreeNode();
tn.Text = item.Name;
tn.Tag = item.FullName;
this.treeView1.Nodes.Add(tn);
}
}
private void Form1_Load(object sender, EventArgs e)
{
LoadTreeView();
}
private void BindInfo(TreeNode node)
{
DirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo item in dirs)
{
TreeNode tn = new TreeNode();
tn.Text = item.Name;
tn.Tag = item.FullName;
node.Nodes.Add(tn);
}
FileInfo[] fileInfo = dir.GetFiles();
List<MyFile> files = new List<MyFile>();
foreach (FileInfo item in fileInfo)
{
MyFile file = new MyFile();
file.FileName = item.Name;
float value = item.Length;
file.FileLength = float.Parse(Math.Round(value / 1024, 2).ToString());
file.FileType = item.Extension;
file.FilePath = item.FullName;
files.Add(file);
}
if (this.listView1.Items!=null)
{
this.listView1.Items.Clear();
}
foreach (MyFile item in files)
{
ListViewItem lvItem = new ListViewItem(item.FileName);
lvItem.SubItems.Add(item.FileLength.ToString());
lvItem.SubItems.Add(item.FileType);
lvItem.SubItems.Add(item.FilePath);
this.listView1.Items.Add(lvItem);
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode node = this.treeView1.SelectedNode;
BindInfo(node);
}
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result= folderBrowserDialog1.ShowDialog();
if (result==DialogResult.OK)
{
string sourcePath = this.listView1.SelectedItems[0].SubItems[3].Text;
string desPath = folderBrowserDialog1.SelectedPath;
desPath += "\\" + this.listView1.SelectedItems[0].SubItems[0].Text;
File.Copy(sourcePath, desPath);
MessageBox.Show("复制成功!!!");
}
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
string sourcePath = this.listView1.SelectedItems[0].SubItems[3].Text;
File.Delete(sourcePath);
MessageBox.Show("删除成功!!");
TreeNode node = this.treeView1.SelectedNode;
BindInfo(node);
}
IO流的应用————小型资源管理器的更多相关文章
- 初识IO流之小型资源管理器
初次接触到IO流,根据书本上的知识,加上自己的摸索,发现了一些好玩的事情.(书本上的知识或多或少,有时候不足以解决我们的问题!这时候我们就应该自己去求解!!! 所以我们学习的时候要抱有探索的精神,求知 ...
- C# 小型资源管理器
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 实现1.双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器
感谢各位这里实现:双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器!! 首先主页面: 2.运用DriveInfo驱动器的信息:获得整个系统磁盘驱动!!,运用frorach循环遍历到Tr ...
- 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ...
- 11 IO流(八)——装饰器设计模式,Filter装饰流
声明:本文部分图片及内容引用自:https://www.cnblogs.com/qiumingcheng/p/5219631.html java装饰器设计模式 举一个形象的例子,人可以说话,而扩音器可 ...
- 小型资源管理器之动态添加TreeView节点
FrmMain主界面 using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- Java IO流以及装饰器模式在其上的运用
流概述 Java中,流是一种有序的字节序列,可以有任意的长度.从应用流向目的地称为输出流,从目的地流向应用称为输入流. Java的流族谱 Java的 java.io 包中囊括了整个流的家族,输出流和输 ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- IO流
流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...
随机推荐
- 01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件
[工程截图] [代码实现] [Mail.java] package com.Higgin.Utils; import java.util.ArrayList; import java.util.Lis ...
- 【制作镜像Win*】环境准备(设置yum源)
首先使用 yum repolist all 命令查看当前启用了哪些yum源. 镜像配置文件在/etc/yum.repos.d/目录下,ll会看到很多repo文件,每一个文件里面都配置了yum源: [b ...
- 暑假集训(1)第八弹 -----简单迷宫(Poj3984)
Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, ...
- IniParse解析类
说明 iniParse这个类是一个解析ini文件的类,他的功能和Windows下GetPrivateProfileString的功能一样,可以很方便的保存读取配置. 当然他不是只有GetPrivate ...
- 静态库的pdb
静态库也会有pdb,只不过,默认是以vc编译器作为名字,比如vs2003的lib的pdb是vc70.pdb,vs2008则是vc90.pdb
- 【原创】解决国内Android SDK无法更新问题更新
使用代理,推荐使用shadowsock 在SDK Manage的tools-options填好代理 服务器地址127.0.0.1 端口1080
- php加了命名空间没引入初始化文件:类的命名空间要与文件夹名一致namespace Business\Event;缺少了Event
php加了命名空间没引入初始化文件:类的命名空间要与文件夹名一致namespace Business\Event;缺少了Event
- MySQL修改时区的方法小结
这篇文章主要介绍了MySQL修改时区的方法,总结分析了三种常见的MySQL时区修改技巧,包括命令行模式.配置文件方式及代码方式,需要的朋友可以参考下 方法一:通过mysql命令行模式下动态修改 1.1 ...
- javabean+servlet+jsp程序_个人辛苦探索
主要介绍主流的java web编程技术.设计模式和框架,以及如何利用Eclipese开发Web应用程序. 要点:1.Java Web编程的主要组件技术: 2.MVC设计模式: 3.用Eclipse构建 ...
- C语言-05内存剖析
1.进制 1. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储 ...