《Java经典实例》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)Ian F. Darwin著;张晓坤,刘基诚译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2002
  • ISBN:7508309456
  • 页数:816 页
图书介绍:本书收集了Java程序员经常遇到的成百个问题的解决方案,涵盖了Java应用的方方面面,堪称讲述Java应用的百科全书。书中的实例从正确设置CLASSPATH和读取环境信息这样的简单任务,到应用XML和添加Email功能的完整程序,几乎无所不包。 无论你是否直接使用书中的实例,作为灵感的源泉,作为学习Java的工具,或者用于其他用迭,本书都将成为你图书收藏中的珍品。还没有一本书能够如此全面地讲述Java的诸多功能,并能够如此容易地运用到实践当中去。本书的主题包括:·编译、运行和调试Java程序·运行环境处理·字符串和模式匹配·数组和集合的应用·并行和串行端口的编程·文件系统管理·Web编程(含applet)·Servlet和JSP·电子邮件·数据库访问·应用XML·分布式编程·内省·国际化·图形和音频·图形用户界面·多线程·多语言混合编程本书对于Java程序员而言是理想的“第二本书”(也是理想的自学书籍),讲述API比一般书籍要详细,非常适于扩大Java应用的知识面。Ian F.Darwin有三十年的计算机软件开发经验,是Learning Tree国际教育公司的讲师和课程设计师。

前言 1

第一章 起步走:编译、运行和调试Java程序 15

1.0.简介 15

1.1.编译和运行Java程序:JDK方式 15

1.2.采用带彩色突出显示的编辑器编辑和编译程序 20

1.3.采用IDE编译、执行和测试程序 22

1.4.使用本书的类 27

1.5.使用脚本文件jr 28

1.6.使用make工具编译和执行Java程序 29

1.7.使用Ant工具自动编译和执行Java程序 30

1.8.Applet 33

1.9.处理过期警告 35

1.10.没有#ifdef的条件编译 37

1.11.调试信息的输出 39

1.12.使用调试器 40

1.13.单元测试 42

1.14.反编译Java类文件 45

1.15.防止反编译 47

1.16.获取可读的回溯 48

1.17.更多的Java源程序 50

1.18.例程:Debug 51

2.1.获取环境变量 53

第二章 Java的运行环境 53

2.0.简介 53

2.2.系统属性 55

2.3.编写JDK版本相关的代码 57

2.4.编写操作系统相关的代码 59

2.5.有效使用CLASSPATH 61

2.6.使用扩展包或其他API包 64

2.7.解析命令行参数 65

第三章 字符串 69

3.0.简介 69

3.1.利用substring()分解字符串 71

3.2.利用StringTokenizer分解字符串 72

3.3.连接字符串 75

3.4.处理单个字符 76

3.5.字符串的对齐 78

3.6.Unicode字符与String的转换 80

3.7.颠倒字符串 82

3.8.扩展和压缩TAB符 83

3.9.控制字母大小写 87

3.10.缩排文档 88

3.11.输入非打印字符 90

3.12.删除字符串尾部的空格 91

3.13.解析逗号分隔的数据 92

3.14.例程:一个简单的文本格式化工具 97

3.15.例程:Soundex算法 99

第四章 正则表达式的模式匹配 103

4.0.简介 103

4.1.正则表达式的语法 105

4.2.正则表达式的工作原理 108

4.3.在Java中使用正则表达式 109

4.4.测试正则表达式 112

4.5.查找匹配的文本 113

4.6.替换匹配的文本 114

4.7.打印匹配的所有字符串 115

4.8.打印含有模式的行 117

4.9.在match()和subst()方法中控制大小写 119

4.10.预编译正则表达式 119

4.11.匹配时的换行问题 120

4.12.例程:数据挖掘 122

4.13.例程:完整的Grep 124

第五章 数字 129

5.0.简介 129

5.1.检查字符串是否包含有效数字 131

5.2.数据类型的由大变小 133

5.3.使用分数 134

5.4.确保浮点数的准确性 135

5.5.浮点数的比较 137

5.6.浮点数的舍入 139

5.7.数字的格式化 140

5.8.二进制、八进制、十进制以及十六进制之间的转换 142

5.9.整数序列 143

5.10.罗马数字 145

5.11.名词的复数形式 149

5.12.产生随机数 150

5.13.产生更好的随机数 151

5.14.三角函数的计算 153

5.15.取对数 153

5.16.矩阵乘法 154

5.17.复数 156

5.18.处理特大的数字 158

5.19.例程:TempConverter 160

5.20.例程:数字回文(Numbe Palindrome) 164

第六章 日期和时间 167

6.0.简介 167

6.1.查看当前日期 168

6.2.按照指定格式打印日期/时间 170

6.3.用其他历法表示日期 172

6.4.将YMDHMS转换为Calendar对象 173

6.5.将字符串转换为日期 174

6.6.将秒数转换为DMYHMS格式 176

6.7.日期的加减运算 177

6.8.计算日期之间的间隔 178

6.9.比较日期 179

6.10.第几日 181

6.11.日历页 183

6.12.定时器 185

6.13.休眠 187

6.14.例程:提醒服务 188

第七章 结构化数据 191

7.0.简介 191

7.1.数组 192

7.2.调整数组的长度 193

7.3.Vector类和ArrayList类 195

7.4.Iterator(迭代器) 197

7.5.链表 198

7.6.使用Hashtable和HashMap进行映射 200

7.7.Properties类和Preferences类 202

7.8.排序 205

7.9.Java 1.1的排序 209

7.10.避免频繁地排序 210

7.11.Set 212

7.12.搜索对象 213

7.13.将集合转换为数组 215

7.14.自定义Iterator 216

7.15.堆栈 218

7.16.多维结构 219

7.17.集合小结 221

7.18.例程:运行效率 223

8.0.简介 226

第八章 面向对象技术 226

8.1.打印对象:用toString()方法格式化 228

8.2.覆盖equals方法 229

8.3.覆盖hashcode方法 232

8.4.Clone方法 234

8.5.finalize方法 236

8.6.使用内部类 237

8.7.通过接口进行回调 239

8.8.多态/抽象方法 242

8.9.传值 244

8.10.自定义异常 247

8.11.例程:Plotter 248

第九章 输入和输出 251

9.0.介绍 251

9.1.从标准输入设备读取数据 255

9.2.向标准输出设备写数据 258

9.3.按文件名打开文件 259

9.4.复制文件 260

9.5.把文件读入字符串 263

9.6.重定向标准流 265

9.7.复制流 266

9.8.读/写不同字符集的文本 268

9.9.行结束符 269

9.10.平台相关的文件编码 270

9.11.断行再续 271

9.12.扫描文件 276

9.13.读写二进制数据 280

9.14.定位(Seeking) 281

9.15.处理C程序写的数据流 282

9.16.存储和还原串行化对象 284

9.17.防止ClassCastExceptions异常 286

9.18.读写JAR或Zip文档 288

9.19.读写压缩文件 291

9.20.例程:将文本输出为PostScript格式 293

9.21.例程:TarList 296

第十章 目录和文件操作 308

10.0.简介 308

10.1.获取文件信息 308

10.2.创建文件 312

10.3.修改文件名 313

10.4.删除文件 313

10.5.创建临时文件 315

10.6.更改文件属性 317

10.7.列出目录内容 318

10.8.获取根目录 320

10.9.创建新目录 321

10.10.例程:Find 322

第十一章 串行和并行接口编程 326

11.0.简介 326

11.1.选择一个端口 328

11.2.打开串行端口 332

11.3.打开并行端口 336

11.4.解决端口冲突 339

11.5.基于端口的读写数据:密步 343

11.6.基于端口的读写数据:事件驱动 346

11.7.基于端口的读写数据:线程 350

11.8.例程:Penman绘图仪 351

第十二章 图形与声音 357

12.0.简介 357

12.1.绘制图形 358

12.2.测试图形组件 359

12.3.输出文本 360

12.4.使组件上的文本居中 361

12.5.阴影效果 362

12.6.图像 365

12.7.播放声音文件 370

12.8.播放视频文件 371

12.9.绘制二维艺术字 374

12.10.JDK 1.1的打印 377

12.11.Java 2的打印 380

12.12.例程:PlotterAWT 382

12.13.例程:Grapher 384

第十三章 图形用户界面(GUI) 388

13.0.简介 388

13.1.GUI组件 389

13.2.窗体布局 391

13.3.带选项卡的布局 393

13.4.事件处理:让按钮工作起来 395

13.5.使用匿名的内部类进行事件处理 397

13.6.通过“关闭窗体”结束程序 399

13.7.对话框 404

13.8.在窗体上打印数据 406

13.9.使用JFileChooser选择文件 409

13.10.选择颜色 412

13.11.将主窗体居中 415

13.12.修改Swing程序的界面外观 416

13.13.例程:定制字体 421

13.14.例程:定制布局管理器 426

14.0.简介 433

第十四章 国际化与本地化 433

14.1.用I18N资源创建按钮 434

14.2.列出有效区域 436

14.3.使用I18N资源创建菜单 437

14.4.编写国际化的实用子程序 438

14.5.使用I18N资源包创建对话框 440

14.6.创建资源包 442

14.7.代码的JILT处理 443

14.8.使用指定的区域 444

14.9.设置默认的区域 445

14.10.格式化消息 446

14.11.例程:MenuIntl 448

14.12.例程:BusCard 451

第十五章 网络客户端 455

15.0.简介 455

15.1.访问服务器 457

15.2.查找并报告网络地址 459

15.3.处理网络错误 460

15.4.读写文本数据 461

15.5.读写二进制数据 464

15.6.读写串行化数据 466

15.7.UDP数据报 468

15.8.例程:TFTP的UDP客户端 470

15.9.例程:Telnet客户端 475

15.10.例程:聊天室的客户端 477

第十六章 Java服务器端:Socket 483

16.0.简介 483

16.1.创建ServerSocket 483

16.2.返回响应(字符串或二进制) 486

16.3.返回对象信息 490

16.4.处理多客户端 491

16.5.网络日志 496

16.6.例程:一个Java聊天室服务器 500

第十七章 网络客户端(Ⅱ):Applet和Web客户端 506

17.0.简介 506

17.1.在网页中嵌入Applet 506

17.2.编写Applet 508

17.3.连接Applet主机的服务器 511

17.4.通过Applet显示文档 514

17.5.通过Applet运行CGI脚本 516

17.6.读取URL上的内容 517

17.7.从URL中解析HTML文本 518

17.8.从文件中解析URL名字 521

17.9.将文件名转换为URL名字 523

17.10.例程:MkIndex 524

17.11.例程:LinkChecker 528

第十八章 Web服务器中的Java: Servlet与JSP 535

18.0.简介 535

18.1.第一个Servlet:生成HTML页面 536

18.2.Servlet:处理表单参数 540

18.3.cookie 543

18.4.会话跟踪 546

18.5.从Servlet中生成PDF 552

18.6.当HTML遇上Java:JSP 558

18.7.JSP的嵌入和控制转移 563

18.8.使用Servlet的JSP 564

18.9.用JavaBean组件减少JSP中的Java代码量 565

18.10.JSP语法总结 569

18.11.程序:Cookiecutter 570

18.12.程序:JabaDot Web新闻门户 571

第十九章 Java与Email 582

19.0.简介 582

19.1.发送Email:浏览器版 583

19.2.发送Email:真正的客户程序 587

19.3.Mail-Enabling a Server Program 590

19.4.发送MIME邮件 596

19.5.提供邮件设置 598

19.6.不使用JavaMail发送邮件 600

19.7.读邮件 604

19.8.程序:MailReaderBean 609

19.9.程序:MailClient 613

第二十章 数据库访问 624

20.0.简介 624

20.1.文本文件数据库 625

20.2.DBM数据库 630

20.3.JDBC的安装和连接 634

20.4.与JDBC数据库连接 636

20.5.发送一个JDBC查询并获得结果 639

20.6.没有JDBC参数化语句 642

20.7.在JDBC中使用存储过程 646

20.8.用ResultSet改变数据 647

20.9.用SQL改变数据 648

20.10.寻找JDBC元数据 651

20.11.程序:JDAdmin 657

第二十一章 XML 664

21.0.简介 664

21.1.用XSLT转换XML 667

21.2.用SAX解析XML 670

21.3.用DOM解析XML 672

21.4.用DTD验证结构 674

21.5.用DOM生成我们自己的XML 675

21.6.程序:xm12mif 677

第二十二章 分布式Java:RMI 680

22.0.简介 680

22.1.定义RMI合同 682

22.2.RMI客户 684

22.3.RMI服务器 685

22.4.跨网络部署RMI 687

22.5.程序:RMI回调 688

22.6.程序:RMIWatch 693

第二十三章 包与包装机制 700

23.0.简介 700

23.1.创建包 701

23.2.用Javadoc为类写文档 702

23.3.用jar存档 706

23.4.从JAR运行Applet 707

23.5.用JDK运行Applet 708

23.6.从JAR运行程序 712

23.7.将类作为JavaBean 712

23.8.将JavaBean放入JAR中 716

23.9.将Servlet压缩为一个WAR文件 717

23.10.“编写一次,随处安装” 718

23.11.JWS 719

23.12.签署JAR文件 725

第二十四章 Java线程 728

24.0.简介 728

24.1.在另一线程中运行代码 729

24.2.显示一个带动画的图像 733

24.3.停止线程 737

24.4.超时 739

24.5.线程通信:同步化代码 740

24.6.线程的通信:wait()和notifyAll() 747

24.7.在编辑器中后台保存 752

24.8.多线程的网络服务器 753

第二十五章 内省或“命名类的类” 763

25.0.简介 763

25.1.获得类描述符 764

25.2.寻找和使用方法和字段 765

25.3.动态地装载和实例化一个类 769

25.4.从头开始构造一个类 771

25.5.性能计时 773

25.6.输出类信息 776

25.7.例程:CrossRef 778

25.8.程序:AppletViewer 783

第二十六章 Java与其他语言的结合 791

26.0.简介 791

26.1.运行一个程序 791

26.2.运行程序并获取它的结果 795

26.3.用BSF混合使用Java和脚本语言 798

26.4.与本机代码(C/C++)混合 803

26.5.从本机代码调用Java 809

26.6.程序:DBM 810

后记 815