当前位置: 首页 > ops >正文

DirectoryInfo 类(总结)

公开用于创建、移动和枚举目录和子目录的实例方法。无法继承此类。

 

在接受路径作为输入字符串的成员中,路径必须是格式良好的,否则将引发异常。例如,如果路径是完全限定的但以空格开头,则路径在类的方法中不会被修剪。因此,路径的格式不是良好的,并将引发异常。同样,路径或路径的组合不能被完全限定两次。例如,“c:\temp c:\windows”在大多数情况下也将引发异常。在使用接受路径字符串的方法时,请确保路径是格式良好的。

在接受路径的成员中,路径可以是指文件或仅是目录。指定路径也可以是相对路径或者服务器和共享名称的统一命名约定 (UNC) 路径。例如,以下都是可接受的路径:

  • C# 中的“c:\\MyDir\\MyFile.txt”或 Visual Basic 中的“c:\MyDir\MyFile.txt”。

  • C# 中的“c:\\MyDir”或 Visual Basic 中的“c:\MyDir”。

  • C# 中的“MyDir\\MySubdir”或 Visual Basic 中的“MyDir\MySubDir”。

  • C# 中的“\\\\MyServer\\MyShare”或 Visual Basic 中的“\\MyServer\MyShare”。

 用法:DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");

我定义了下面这样的一个方法:

public void LoadPhotos(string path)
        {
            //Note:这里的path为字符串,格式如"D:\Nat\Projects\Bsmart.BDT.Nat.TrainingPlan.Test\Bsmart.BDT.Nat.UITest\bin\Debug\"
            //参数前面要加一个字符 '@' 。
            DirectoryInfo picFolder = new DirectoryInfo(path);//文件夹
            FileInfo[] fileInfo = picFolder.GetFiles();//获取当前目录的文件列表
            _myImage = new Bitmap[fileInfo.Length];//分配空间。(这里默认分配最大的空间)

            //加载图片
            _totalPicCount = 0;
            foreach (FileInfo NextFile in fileInfo)
            {
                if (NextFile.Extension == ".jpg" || NextFile.Extension == ".JPG")
                {
                    //_myImage[_totalPicCount] = new Bitmap(NextFile.Name);//文件名
                    _myImage[_totalPicCount] = new Bitmap(NextFile.FullName);//文件完整目录(这里要使用完整目录,因为图片的文件目录不确定)
                    _totalPicCount++;
                }
            }

            //显示图片
            if (_totalPicCount > 0)
            {
                this.pictureBox1.Image = (Image)_myImage[0];//显示第一张图片
                _curPicIndex = 0;
            }
        }

1、我在一个工程里添加了一个用户控件,然后在它的类里面加入了这个方法,并使用类的构造函数来传递路径参数。最后封装。

2、我又创建了一个窗口应用程序,并调用干刚才封装好的控件。使用如下:

this.picBoxBar = new PhotoBrowser(@"D:\Nat\pic\");// OK

this.picBoxBar = new PhotoBrowser("D:\Nat\pic\");//ERROR 无法识别的转义序列

3、不明白的是如果直接在程序中调用类的方法,也传入如上第二的参数,结果却是OK的。

为什么做为类的参数时要在前面加入@,而作为方法的参数时不需要。

 

 

http://www.xdnf.cn/news/11196.html

相关文章:

  • SAP学习网站
  • fsdfdsfsdf
  • Android自定义View(三)自定义属性AttributeSet
  • 中国重大铁路事故一览,90年代以前基本都是爆炸事故,90年代以后基本都是追尾事故
  • COS简介
  • 从源码角度结合详细图例剖析过滤器与拦截器
  • 百度分享代码
  • Java 串口通信(RS232/485)
  • 批处理简单教程
  • Java基础入门知识
  • 3D建模的4种方式,你都知道吗?
  • GGhost一键恢复09.03.08
  • 【web前端期末大作业】学生个人网页设计作品 学生个人网页设计作品 学生个人网页模板 简单个人主页成品
  • HTML中的标签textarea的属性及用法
  • 2008春晚,赵本山之《火炬手》(现场版最新完整台词)
  • 《前沿》(Frontiers)系列英文学术期介绍
  • 极简教程|小白也能快速搭建个人网站
  • VMware虚拟机中的常用文件介绍
  • 分享103个PHP源码,总有一款适合您
  • 获取ACCESS2000密码 [C#]
  • 图形学中的不变矩方法及其matlab实现
  • 推荐一款基于Java的音视频处理开源项目--JAVE
  • 转贴:网友【原创·教程】 SRT外挂字幕时间轴调整及合并中英文同步字幕制作方法
  • C++ QT结合FFmpeg实战开发视频播放器-08播放器项目的整体UI架构
  • 当你在浏览器输入www.xxx.com的时候会发生什么?
  • linux 防火墙firewall详解
  • MSDE2000安装
  • 信息论:熵与互信息
  • 分享一个简洁、优雅且高效的 Hugo 博客主题 - FixIt
  • CSS基础学习--9 边框(Border)