System.IO命名空间
在Pocket PC应用程序里实现目录和文件操作功能,需要对System.IO命名空间有基本的了解,主要包括该命名空间里用于创建、操作和删除目录及文件的类。表11-1列出了System.IO命名空间主要的类。
表11-1:System.IO命名空间主要类
类
| 说明 |
BinaryReader | 将基本数据类型读作二进制值。 |
BinaryWriter | 以二进制形式将基本数据类型写入流。 |
Directory | 提供创建、移动、删除与枚举目录、子目录和所包含文件的静态方法。 |
DirectoryInfo | 提供创建、移动、删除与枚举目录、子目录和所包含文件的实例方法。 |
File | 提供用于创建、复制、删除、移动和打开文件的静态方法。 |
FileInfo | 提供创建、复制、删除、移动和打开文件的实例方法。 |
FileStream | 以字节数据流的形式访问文件。 |
MemoryStream | 以字节数据流的形式访问内存存储区域。 |
Path | 指示文件或目录路径信息。 |
StreamReader | 从文件中读字符。 |
StreamWriter | 向文件写字符。 |
StringReader | 从字符串读字符。 |
StringWriter | 向字符串写字符。 |
TextReader | 连续读字符串的字符。 |
TextWriter | 连续向字符串写字符。 |
1.1.1 使用System.IO命名控件
在Pocket PC应用程序里可以通过两种方法引用System.IO命名空间里的类。第一种方法如图11-1所示,在代码首行增加Imports声明。该方法的好处是允许你缩短命名空间引用名。例如,如下代码框内完整命名空间引用语法:
<wrap type="none"></wrap><anchorlock></anchorlock>
<group id="_x0000_s1029" style="WIDTH: 414pt; HEIGHT: 23.4pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="7200,408" coordorigin="2526,7642" editas="canvas"><shape id="_x0000_s1030" style="LEFT: 2526px; WIDTH: 7200px; POSITION: absolute; TOP: 7642px; HEIGHT: 408px" type="#_x0000_t75" o:preferrelative="f"><font size="3"><font face="Times New Roman"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock text="t" v:ext="edit"></lock></font></font></shape><rect id="_x0000_s1031" style="LEFT: 2526px; WIDTH: 7200px; POSITION: absolute; TOP: 7642px; HEIGHT: 408px" strokecolor="#eaeaea" fillcolor="#eaeaea"><textbox style="mso-next-textbox: #_x0000_s1031"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14pt"><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">System.IO.Directory.GetFiles<p></p></font></span></p> </div> </td> </tr></tbody></table></textbox></rect></group>
能够使用更简单的引用语法代替:
<wrap type="none"></wrap><anchorlock></anchorlock>
<group id="_x0000_s1026" style="WIDTH: 414pt; HEIGHT: 23.4pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="7200,408" coordorigin="2526,7642" editas="canvas"><shape id="_x0000_s1027" style="LEFT: 2526px; WIDTH: 7200px; POSITION: absolute; TOP: 7642px; HEIGHT: 408px" type="#_x0000_t75" o:preferrelative="f"><font size="3"><font face="Times New Roman"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock text="t" v:ext="edit"></lock></font></font></shape><rect id="_x0000_s1028" style="LEFT: 2526px; WIDTH: 7200px; POSITION: absolute; TOP: 7642px; HEIGHT: 408px" strokecolor="#eaeaea" fillcolor="#eaeaea"><textbox style="mso-next-textbox: #_x0000_s1028"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14pt"><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">Directory.GetFiles<p></p></font></span></p> </div> </td> </tr></tbody></table></textbox></rect></group>
<shapetype id="_x0000_t75" coordsize="21600,21600" o:preferrelative="t" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:spt="75"><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><shapetype id="_x0000_t75" coordsize="21600,21600" o:preferrelative="t" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:spt="75"><img alt="" align="middle" src="https://p-blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/yanyouning/%E5%9B%BE11-1.JPG"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 261.75pt; HEIGHT: 94.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///D:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape></span><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 261.75pt; HEIGHT: 94.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///D:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape>
<shape id="_x0000_i1027" style="WIDTH: 261.75pt; HEIGHT: 94.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///D:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png"><font face="Times New Roman" size="3"></font></imagedata></shape>
图11-1:增加System.IO命名空间的引用
引用System.IO命名空间的第二种方法即直接使用完全的命名空间引用语法。该方法的好处是使代码更容易理解。
通过 System.IO 命名空间使用文件路径时需要注意,与桌面 Windows 环境不同, Pocket PC 环境中的路径是以一个 "\" 开始的,而不是使用 C: 或 D: 。例如,桌面 Windows 的路径 C:\Program Files ,在 Pocket PC 设备里则是 \Program Files 。