发布一篇详解Java编程中的IO体系
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。一.stream
代表的是任何有才能产出数据的数据源,或是任何有才能吸收数据的吸收源。在Java的IO中,一切的stream(包含Input和Outstream)都包含两品种型:
1以字节为导向的stream
以字节为导向的stream,暗示以字节为单元从stream中读取或往stream中写进信息。以字节为导向的stream包含上面几品种型:
Inputstream
1)ByteArrayInputStream:把内存中的一个缓冲区作为InputStream利用
2)StringBufferInputStream:把一个String对象作为InputStream
3)FileInputStream:把一个文件作为InputStream,完成对文件的读取操纵
4)PipedInputStream:完成了pipe的观点,次要在线程中利用
5)SequenceInputStream:把多个InputStream兼并为一个InputStream
Outstream
1)ByteArrayOutputStream:把信息存进内存中的一个缓冲区中
2)FileOutputStream:把信息存进文件中
3)PipedOutputStream:完成了pipe的观点,次要在线程中利用
4)SequenceOutputStream:把多个OutStream兼并为一个OutStream
2以Unicode字符为导向的stream
以Unicode字符为导向的stream,暗示以Unicode字符为单元从stream中读取或往stream中写进信息。以Unicode字符为导向的stream包含上面几品种型:
Inputstream
1)CharArrayReader:与ByteArrayInputStream对应
2)StringReader:与StringBufferInputStream对应
3)FileReader:与FileInputStream对应
4)PipedReader:与PipedInputStream对应
Outstream
1)CharArrayWrite:与ByteArrayOutputStream对应
2)StringWrite:无与之对应的以字节为导向的stream
3)FileWrite:与FileOutputStream对应
4)PipedWrite:与PipedOutputStream对应
以字符为导向的stream基础上对有与之绝对应的以字节为导向的stream。两个对应类完成的功效不异,字是在操纵时的导向分歧。如CharArrayReader:和ByteArrayInputStream的感化都是把内存中的一个缓冲区作为InputStream利用,所分歧的是前者每次从内存中读取一个字节的信息,尔后者每次从内存中读取一个字符。
两种不现导向的stream之间的转换
InputStreamReader和OutputStreamReader:把一个以字节为导向的stream转换成一个以字符为导向的stream。
<p>
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践! Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种将安全性(Security)列为第一优先考虑的语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
页:
[1]