JAVA网页编程之进修Java的条记(5)
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点条记121、Stream依据功效可分为数据侦听器流(dataSinkStream,侦听器:内存、管道、文件)和历程流(ProcessingStream)
122、在谈Java的流类之前,先谈怎样天生一个File对象,它时一个和流有关的类。File对象可用来天生
和文件(及其地点的路径)或目次布局相干的对象,因为分歧的体系大概会有分歧的目次了局暗示法,使
用File可完成和体系有关的目标(利用笼统的路径暗示法)。
123、File对象天生办法:
File(Stringpath):将一个代表路径的字符串转换为笼统的路径暗示法
File(Stringparent,Stringchild):parent代表目次,child代表文件,child不成为空
File(Fileparent,Stringchild):parent代表一个File对象的目次,child代表文件,child不
可为空
124、File供应一些办法来测试或反省一个File对象:
booleanexists():若该文件或目次存在,则前往true
booleanisDirectory():若为目次则前往true
File[]listFiles():失掉该对象所代表的目次下的File对象数组,若不为该目次,则前往null
String[]list():同上,但前往一个String数组
longlength():失掉和该对象相干的文件的巨细,若不存在,则前往值为0L
StringtoString():失掉笼统路径暗示法
StringgetParent():失掉笼统路径暗示法的目次部分(不包括最初一个部分)
StringgetName():失掉笼统路径暗示法的最初一个部分
125、改动一个File对象的办法:
booleanrenameTo(FilenewName):将今朝File对象所代表的路径名改成newName所代表的路径名
。若变动乐成,则前往值为true
booleanmkdir():天生一个新的目次。进乐成,则前往值为true
booleanmkdirs():天生一个新的目次,包括不存在的子目次。若乐成,前往值为true
booleandelete():删除今朝File对象所代表的文件或目次,如果目次,则需为空的。若乐成,
前往true
126、没有参数的listFiles()会列出一切的文件名。利用File[]listFiles(FilenameFilterfilter)过
滤某些特别的扩大名或包括某些字符的文件名。FilenameFilter是一个接口,必需天生一个完成它的类来
卖力过滤文件名,该类需代替FilenameFilter唯一的办法accept()。booleanaccept(Filedir,String
name),若前往为true则会将今朝反省的文件包括在listFiles()的前往数组内。
127、字撙节的机关函数:
FileInputStream(Stringname):翻开文件name用以读取数据
FileInputStream(Filefile):翻开和File对象file相干联的文件,用以读取数据
FileOutputStream(Stringname):翻开文件name用以写进数据
FileOutputStream(Filefile):翻开和File对象file相干联的文件,用以写进数据
FileOutputStream(Stringname,booleanappend):翻开文件name用以写进数据,若append为
true,则写进的数据会加到原本的文件后。
128、字节数组(bytearray)的机关函数:
ByteArrayInputStream(byte[]buffer):天生一个字节数组的输出流,并指定一个字节数组
buffer为此输出流的流缓冲区。
ByteArrayOutputStream():天生一个字节数组的输入流,其缓冲区的默许初始巨细为32字节,若
有必要,缓冲区的巨细会随之增添
ByteArrayOutputStream(intsize):同上,但分派size字节的初始巨细给缓冲区。
129、一些ByteArrayOutStream经常使用的办法:
intsize():前往此流缓冲区的巨细
byte[]toByteArray():天生一个新的字节数组,并将流的内容复制到此本人数组。
StringtoString():将流的内容转换为String对象。
130、文件的兼并:SequenceInputStream
SequenceInputStream(InputStreamhead,InputStreamtail):天生一个新的输出流,先读进
head,后是tail
SequenceInputStream(Enumerationenum):将enum内的流依据序兼并韦一个新的输出流,enum内
必需是InputStream对象。
131、Vector的功效就像一个数组,但它能依据必要来改动巨细。
132、管道(pipe)供应一种线程间通讯的办法,可因为IPC(Inter-ProcessCommunication,历程间通
信)或是ITC(Inter-ThreadCommunication,线程间通讯),但它没法实行分歧主机之间的通讯。
133、一个输出管道是用来吸收一个输入管道所写出的数据,因而,一个线程会卖力送出
(PipedOutputStream对象)数据,而另外一个线程需卖力吸收(PipedInputStream对象)这些数据。
134、管道的数据流(dataflow)是单向的,必要天生另外一组输出和输入管道来卖力另外一个偏向的数据传
送。
135、假如要将管道输入流的数据送到管道输出流,可以使用
PipedOutputStream(PipedInputStreampipeIn)或
connect(PipedInputStreampipeIn)
140、字符流的类:1),BufferedReader是一种过滤器(filter)(extendsFilterReader)。过滤器用
来将流的数据加以处置再输入。机关函数为:
BufferedReader(Readerin):天生一个缓冲的字符输出流,in为一个读取器
BufferedReader(Readerin,intsize):天生一个缓冲的字符输出流,并指定缓冲区的巨细为
size
经常使用的办法为:
StringreadLine():读进一行的笔墨(以
或开头),前往的String对象其实不包括
或,若
已达流的末了则前往null
当利用缓冲流的read()或readLine()读取数据时,先会实验从缓冲区读取,若缓冲区中并没无数
据,则会尽量的将数据读进缓冲区中,以留待后续的读取。
141、2),LineNumberReader也是一种过滤器,而它也是一种缓冲流(extendsBufferedReader),可用
来纪录读进的行数,这里所谓的一行时以
或开头。经常使用办法:
intgetLineNumber():失掉今朝的行数。
142、3),PrinterWriter也是一种过滤器(extendesFilterWriter),可用来将输入导进某种设备。
143、I/O流的一个特性是它们能经由流链接的体例分离在一同,每一个流类会实行特别的事情再将了局传到
下一个链接,可以使用过滤器将流链接在一同。
BufferedReaderinBuffer=newBufferedReader(newFileReader(inFile));
利用流链接时,只必要封闭最外层的链接流,其他链接的流会主动封闭。可使用的链接是最初一个流(
inBuffer),此时,我们并没有法间接利用FileReader流。假如写成:
FileReaderfileIn=newFileReader(inFile);
BufferedReaderinBuffer=newBufferedReader(fileIn);
此时,fileIn仍存在,这大概会因写程序的忽略而形成同时有两个流链接导统一个来历(inFile),这往
往会有潜伏的伤害。
144、随机存取:RandomAccessFile,机关函数
RandomAccessFile(Filefile,Stringmode):个中mode是用来指定存取的形式,可为r,w或rw
RandomAccessFile(Stringname,Stringmode):name为和体系相干的文件名字
经常使用办法:
读取:booleanreadBoolean();bytereadByte();charreadChar();doublereadDouble
();floatreadFloat();intreadInt();longreadLong();shortreadShort();StringreadLine()
写进:voidwriteByte(Bytev);voidwriteByte(Strings);voidwriteChar(charv);void
writeChars(Strings);voidwriteDouble(doublev);voidwriteFloat(floatv);voidwriteInt(int
v);voidwriteLong(longv);voidwriteShort(shortv)
与今朝文件地位有关的办法:
voidseek(longpos):将文件指针移到pos(不成为负)的地位这是相对文件初始地位的值(
初始值为0)
longgetFilePointer():失掉今朝文件指针的地位。
longlength():失掉文件的长度
145、文件紧缩及解紧缩办法:ZipInputStream(extendsInflaterInputStream)和ZipOutputStream
(extendsDeflaterOutputStream)
146、将文件写进ZIP文件的步骤:
1)天生和所要天生的ZIP文件相干联的ZipOutputStream对象
2)一个ZIP文件常常不但含有一个紧缩文件,我们将每一个要到场的文件称为一个ZIP出口,我们
利用ZipEntry(StringfileName)来天生这些ZipEntry对象。
3)利用putNextEntry(ZipEntryentry)将此ZIP出口到场ZIP文件
4)将文件内容写进此ZIP文件
5)利用closeEntry()停止今朝的ZIP出口,持续下一个ZIP出口
147、将紧缩文件从ZIP文件读出的步骤:
1)天生和所要读进的ZIP文件相干联的ZipInputStream对象
2)使用getNextEntry()失掉下一个ZIP出口
148、我们将对象存取自一个流称为序列化(serialization),为了完成对象的序列化(将一个对象写导
流称为序列化(serializing),而从一个流将对象读出称为反序列化(deserializing))。
149、存取的对象需满意以下前提:
类需为public
类需完成Serializable接口
如有数据不是可序列化的或不必要写出,则需将其声明为transient
150、java.io供应ObjectInputStream和ObjectOutputStream来存取对象,因为它们和DataInputStream及
DataOutputStream有配合的接口,因而它们也可以使用不异的办法来读取或写进数据。另有其他的办法:
voidwriteObject(Objectobj):用于ObjectOutputStream,将对象写进流
ObjectreadObject():用于ObjectInputStream,将对象由流读出。
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 是一种为 Internet发展的计算机语言 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种语言,用以产生「小应用程序(Applet(s)) 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页:
[1]