小说简介:
§1.1Java语言出现的背景、影响及应用前景
一、背景
最近一年多来,在Internet上出现的特别吸引人的事件就是Java语言和用Java编写的浏览器HotJava。
1991年,SUNMicroSystem公司的JameGosling、BillJoe等人,为在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件(即一种橡树的名字),但当时并没有引起人们的注意,直到1994年下半年,Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上受欢迎的开发与编程语言,一些著名的计算机公司纷纷购买了Java语言的使用权,
如Mi-croSoft、IBM、Netscape、Novell、Apple、DEC、SGI等,因此,Java语言被美国的著名杂志PCMagazine评为1995年十大优秀科技产品,(计算机类就此一项入选),随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为"Java是八十年代以来计算机界的一件大事",
微软总裁比尔·盖茨在悄悄地观察了一段时间后,不无感慨地说:"Java是长时间以来最卓越的程序设计语言",并确定微软整个软件开发的战略从PC单机时代向着以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。因此,Java的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型提出了新的挑战。
SUNMicroSystem公司的总裁ScottMcNealy认为Java为Internet和WWW开辟了一个崭新的时代.
环球信息网WWW的创始人Berners-Lee说:"计算机事业发展的下一个浪潮就是Java,并且将很快会发生的"。看来,使用Java已成大势所趋!
MicroSoft和IBM两大公司都计划在Internet上销售用Java编写的软件。
Apple、HP、IBM、MicroSoft、Novell、SGI、SCO、Tandem等公司均计划将Java并入各自开发的操作系统,而负责开发并推广Java技术的SunSoft公司(这是SUN下属的一个子公司),将通过颁发许可证的办法来允许各家公司把Java虚拟机和Java的Applets类库嵌入他们开发的操作系统,这样各类开发人员就能更容易地选择多种平台来使用Java语言编程,不同的用户也就可以脱离Web浏览器来运行Java应用程序,这无疑是很受广大用户欢迎的,也为Java语言的应用开拓了极为广阔的前景。(当然,各类JavaOS之间的兼容性必须得到重视,好在JavaSoft已保证将监督这种兼容性)。
另外,由JavaSoft推出的完全用Java编写的Internet上新型浏览器HotJava,比去年alpha版更为实用,不仅能编制动态的应用软件,而且能编制完整的成套桌面应用软件,将来还会提供更多的能帮助编制动态应用软件的模块,显然,这也是为Java的应用提供了有力的例证。
============
这里有一个例子,功能象Unix里的cat或type:importjava.io.*classmyCat{publicvoidmain(Stringargs[])throwsIOException{intb;intcount=0;while((b=System.in.read())!=
-1){count++;System.out.print((char)b);}System.out.println();
//blanklineSystem.err.println("counted"+count+"totalbytes.");}}
9.3普通输入输出类
除了基本的键盘输入和屏幕输出外,我们还需要联系文件的输入输出。我们将学习下面几个类:lFileInputStreamlDataInputStreamlFileOutputStreamlDataOutputStream
作为参考,再列出一?copy;特定应用的类:lPipedInputStreamlBufferedInputStreamlPushBackInputStreamlStreamTokenizerlPipedOutputStreamlBufferedOutputStreamlRandomAccessFile
我们不在此讨论这?copy;类,但你可以在JAVA_HOME/src/java/io目录里查看每个类的成员函数定义。
9.4文件
在我们进行文件操作时,需要知道关于文件的信息。File类提?copy;了一?copy;成员函数来操纵文件和获得文件的信息。
9.4.1创建一个新的文件对象
你可用下面三个方法来创建一个新文件对象:FilemyFile;myFile=newFile("etc/motd");或myFile=newFile("/etc","motd");//moreusefulifthedirectoryorfilenamearevariables或FilemyDir=newfile("/etc");myFile=newFile(myDir,"motd");
这三种方法取决于你访问文件的方式。例如,如果你在应用程序里只用一个文件,第一种创建文件的结构是最容易的。但如果你在同一目录里打开数个文件,则第二种或第三种结构更好。
9.4.2文件测试和使用
一但你创建了一个文件对象,你便可以使用以下成员函数来获得文件相关信息:文件名lStringgetName()lStringgetPath()lStringgetAbslutePath()lStringgetParent()lbooleanrenameTo(FilenewName)文件测试lbooleanexists()lbooleancanWrite()lbooleancanRead()lbooleanisFile()lbooleanisDirectory()lbooleanisAbsolute()一般文件信息llonglastModified()llonglength()目录用法lbooleanmkdir()lString[]list()
9.4.3文件信息获取例子程序
这里是一个独立的显示文件的基本信息的程序,文件通过命令行参数传输:
importjava.io.*;classfileInfo{FilefileToCheck;publicstaticvoidmain(Stringargs[])throwsIOException{if(args.length>0){for(inti=0;i
|