第1章 I/O与网络技术 1
1.1 I/O类 1
1.2 文件目录操作 3
1.3 数据存取 3
1.3.1 字节数据读写 4
1.3.2 二进制数据读写 4
1.3.3 文字数据读写 5
1.4 数据流与控制台I/O 5
1.4.1 一个简单的Console I/O 6
1.4.2 数据流与I/O 7
1.4.3 Console类的方法成员 7
1.5 I/O错误处理 9
1.6 网络操作 9
1.6.1 System.Net与“请求/响应”模型 10
1.6.2 Socket网络程序 11
1.6.3 电子邮件 12
1.6.4 网络信息存取 12
第1篇 I/O与数据流 15
第2章 目录操作 15
2.1 目录 15
2.1.1 目录架构 15
2.1.2 路径系统与Path类 16
2.1.3 FolderBrowserDialog组件 18
2.1.4 .NET的目录操作支持 20
2.2 Directory类 21
2.2.1 目录更改 22
2.2.2 列举目录内容 26
2.2.3 存取目录相关特性 31
2.3 DirectoryInfo类 32
2.3.1 建立DirectoryInfo对象 33
2.3.2 特定的目录操作成员 33
2.3.3 操作文件目录变更 34
2.3.4 列举目录列表 36
2.4 DriveInfo类与磁盘信息 39
第3章 文件存取 43
3.1 关于文件 43
3.2 文件对话框 43
3.3 .NET的文件操作支持 47
3.4 File类 47
3.4.1 File方法成员 48
3.4.2 新建文件 48
3.4.3 文件的移动、复制及删除 49
3.4.4 一个实际应用示例 50
3.5 FileInfo类 54
3.6 文件系统监视器 57
3.6.1 FileSystemWatcher对象概念 57
3.6.2 建立FileSystemWatcher对象 57
3.6.3 属性设置 59
3.6.4 监控变更事件 60
第4章 数据流与文件读写 65
4.1 数据流与Stream类 65
4.1.1 数据流概念 65
4.1.2 Stream与衍生类 66
4.2 Stream类 67
4.2.1 Stream方法成员 67
4.2.2 Stream类属性成员 68
4.2.3 Stream类的操作异常 69
4.3 FileStream类与文件读写 70
4.3.1 取得FileStream数据流对象实体 70
4.3.2 建立FileStream类对象 73
4.4 文件读写 75
4.4.1 字节数据读写 75
4.4.2 连续字节数据读写 78
4.5 文件的随机存取 80
4.6 一个简单的文件复制器 83
4.7 文件锁定 86
第5章 再探数据流 91
5.1 缓冲数据流 91
5.2 内存数据流 94
5.3 异步I/O 97
5.4 隔离储存(Isolated Storage) 102
5.4.1 建立隔离储存区 102
5.4.2 保存区目录 103
5.4.3 存取储存区文件 106
第6章 二进制数据读写 111
6.1 原始数据类型 111
6.2 BinaryReader类 113
6.2.1 建立BinaryReader实体对象 114
6.2.2 二进制格式数据读取 115
6.3 BinaryWriter类 118
6.3.1 建立BinaryWriter对象 119
6.3.2 写入二进制格式数据 119
第7章 文字数据处理 123
7.1 字符串(String)类 123
7.1.1 建立字符串 123
7.1.2 String类的属性成员 125
7.1.3 字符串比较 125
7.1.4 分割与获取子字符串 129
7.1.5 字符合并、删除、插入及大小写转换 131
7.2 动态字符串StringBuilder类 133
7.2.1 建立动态字符串实体 133
7.2.2 调整字符串内容 133
7.3 格式化输出 136
7.3.1 格式化 136
7.3.2 格式化数值 137
7.3.3 自定义数字格式 138
7.3.4 格式化日期时间 141
7.3.5 ToString方法 144
7.4 字符集 146
7.4.1 ASCII字符集 146
7.4.2 Unicode字符集 147
7.4.3 Encoding类 148
第8章 字符数据读写 151
8.1 TextReader与TextWriter类 151
8.2 StreamReader类 153
8.2.1 建立StreamReader类实体 153
8.2.2 读取字符 154
8.2.3 字符读取的编码设置 157
8.3 StreamWriter类 159
8.3.1 建立StreamWriter对象 159
8.3.2 写入字符 159
8.4 StringReader与StringWriter 162
第9章 数据压缩与加密 165
9.1 压缩数据流 165
9.2 DeflateStream 166
9.2.1 建立DeflateStream对象 166
9.2.2 数据压缩 167
9.2.3 数据解压缩 169
9.3 GZipStream 174
9.3.1 建立GZipStream类 175
9.3.2 压缩与解压缩 175
9.4 加密编译与密码学 177
9.4.1 概述 178
9.4.2 加密算法 178
9.5 对称式加密与加密数据流 179
9.5.1 数据加密 179
9.5.2 密码编译服务供应者类型 180
9.5.3 取得密钥 180
9.5.4 加密子 180
9.5.5 CryptoStream类与加密数据流 181
9.5.6 解密数据 181
9.6 非对称式加密解密 186
9.6.1 RSACryptoServiceProvider类 186
9.6.2 非对称式加密 186
第2篇 网络技术 191
第10章 .NET网络程序设计 191
10.1 网络概念 191
10.1.1 网络架构 191
10.1.2 网络层级协议 192
10.1.3 IP地址 193
10.1.4 DNS域名系统 194
10.1.5 通信端口(Port) 194
10.2 .NET网络支持 195
10.2.1 网络类 195
10.2.2 Socket网络程序 196
10.3 处理IP地址类 196
10.3.1 IPAddress类 196
10.3.2 IPEndPoint类 197
10.4 DNS 198
10.4.1 DNS类方法成员 198
10.4.2 返回DNS主机名 199
10.4.3 取得IP地址 200
10.4.4 IPHostEntry类 201
10.4.5 GetHostByAddress与GetHostByName 203
10.5 异步解析DNS信息 205
10.5.1 地址异步解析 205
10.5.2 BeginResolve与EndResolve 208
10.6 URI与Uri类 209
10.6.1 Uri类 210
10.6.2 Uri类的属性成员 212
10.6.3 检验URI 215
10.7 UriBuilder类 216
第11章 System.Net.NetworkInformation 219
11.1 Ping类 219
11.2 网络接口地址信息 222
11.2.1 取得界面组态 222
11.2.2 地址信息 226
11.2.3 IPInterfaceProperties类 226
11.3 GetIPProperties 230
第12章 “请求/响应”模型与HTTP通信协议 233
12.1 “请求/响应”模型 233
12.2 WebRequest及WebResponse类 234
12.2.1 “请求/响应”架构与类 235
12.2.2 获得WebRequest与WebResponse对象 235
12.2.3 获得数据流 236
12.2.4 一个简单的网页下载程序 237
12.3 FileWebRequest与FileWebResponse 238
12.3.1 建立类实体 238
12.3.2 文件存取 239
12.4 HTTP通信协议概念 242
12.4.1 HTTP通信协议 242
12.4.2 HTTP请求与响应消息 242
12.5 HttpWebRequest与HttpWebResponse类 243
12.5.1 使用HttpWebRequest与HttpWebResponse 243
12.5.2 解析网页内容 244
12.5.3 Method属性与参数传递 246
12.6 WebClient类 252
12.6.1 使用WebClient类 252
12.6.2 取得数据流对象 254
第13章 Socket网络程序 257
13.1 System.Net.Sockets与Socket 257
13.1.1 Socket概念 257
13.1.2 命名空间System.Net.Sockets 257
13.1.3 实际应用Socket应用程序要点 258
13.2 Socket类 259
13.2.1 建立Socket类实体 259
13.2.2 Socket类的方法成员 260
13.3 服务器端Socket与TcpListener类 266
13.3.1 服务器端网络服务 267
13.3.2 建立TcpListener实体与倾听联机要求 267
13.3.3 在服务器端存取网络数据 268
13.3.4 客户端Socket 269
13.3.5 TcpClient与网络联机 270
第14章 再探Socket 273
14.1 扫描通信端口 273
14.2 跨越网络的数据存取 274
14.2.1 NetworkStream数据流 274
14.2.2 GetStream方法 275
14.2.3 存取网络数据流 276
14.3 异步Socket 280
14.3.1 方法成员与异步回调 280
14.3.2 实际异步Socket网络程序 282
第15章 电子邮件 291
15.1 电子邮件概念 291
15.1.1 电子邮件通信协议 291
15.1.2 SMTP协定 292
15.1.3 SMTP指令 292
15.1.4 响应码 293
15.1.5 一个简单的SMTP客户端 294
15.2 System.Web.Mail命名空间 297
15.2.1 System.Web.Mail类 297
15.2.2 使用SmtpMail 297
15.2.3 邮件消息与附件 299
15.3 System.Net.Mail命名空间 302
15.3.1 SmtpClient类 303
15.3.2 邮件消息 305
15.3.3 邮件地址 307
15.3.4 夹带附件 309
15.3.5 附件与MIME 312
第16章 FTP传输 317
16.1 FTP传输协议 317
16.1.1 FTP联机 317
16.1.2 FTP指令 318
16.1.3 FTP响应码 319
16.2 实际应用FTP功能 320
16.3 FtpWebRequest与FtpWebResponse 334
16.3.1 System.Net命名空间的FTP支持 334
16.3.2 获得FTP“请求/响应”实体 335
16.3.3 FTP操作种类 335
16.3.4 传递认证信息 336
16.3.5 实际应用FTP功能的步骤 337
16.4 FTP目录操作 337
16.4.1 目录变更 337
16.4.2 列举目录 339
16.5 FTP文件传输操作 341
16.5.1 FTP下载操作 342
16.5.2 FTP上传操作 344
16.6 WebClient 346
第17章 UDP与多播 349
17.1 UDP与UdpClient类 349
17.1.1 UDP协议 349
17.1.2 UdpClient类 350
17.1.3 连接到指定端点 350
17.1.4 数据传送与接收 351
17.1.5 通过UDP的文件传输 356
17.2 多播(Multicast) 360
17.2.1 多播概念 360
17.2.2 多播群组与TTL(Time to Live) 361
17.2.3 多播地址 362
17.3 实际应用多播Sockets 363
17.3.1 多播的方法成员 363
17.3.2 多播示例程序 364
第3篇 其他 371
第18章 串行化(Serialization) 371
18.1 串行化类 371
18.2 选择性串行化对象成员 376
18.3 自定义串行化行为——实际应用ISerializable接口 377
18.4 串行化属性的继承 381
18.5 修改无法串行化的数据 383
第19章 My对象 385
19.1 概念 385
19.2 My.Application 386
19.2.1 ApplicationContext属性 386
19.2.2 文化特性 387
19.3 组件信息与消息记录 389
19.3.1 My.Application.Info对象 390
19.3.2 写入一般消息 392
19.3.3 写入异常消息 395
19.4 My.Computer对象 397
19.5 存取计算机相关信息 398
19.6 管理登录日志文件 399
19.6.1 存取登录日志文件 399
19.6.2 建立与删除登录键值 402
19.7 管理剪贴板 404
19.7.1 关于My.Computer.Clipboard对象 405
19.7.2 文字数据处理 406
19.7.3 影像与音频数据 410
19.8 与外部设备互动 413
19.8.1 时间与My.Computer.Clock对象 413
19.8.2 音效播放与My.Computer.Audio 414
19.8.3 鼠标与键盘 417
19.9 存取网络 421
19.10 文件目录的存取 425
19.10.1 My.Computer.FileSystem属性 426
19.10.2 My.Computer.FileSystem方法成员 427
19.10.3 操作目录 428
19.10.4 文件读写 432
19.11 My.Forms 434
19.12 My.User 436
19.13 My对象与项目类型相关性 437
第20章 WebBrowser类与浏览器 439
20.1 初识WebBrowser 439
20.1.1 一个浏览器的示例 439
20.1.2 浏览器的程序代码 440
20.1.3 WebBrowser类方法成员 440
20.2 浏览文件 442
20.3 浏览器高级功能设置 445
20.3.1 浏览器事件与状态 445
20.3.2 显示对话框 447
20.3.3 一个改良的示例 448
20.4 获取文件内容 450