仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 517|回复: 10
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Java IO流基本

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
输出输入流想必人人已用的十分纯熟了,可是,我们常常疏忽了身旁最熟习的一些工具,又大概我们只晓得要如许做,却不晓得为何这么做,以是在这里跟人人分享一下在收集编程傍边看到的一些关于I/O流的细节,闲话未几说,上面入手下手:
OutputStream,望文生义:输入流,它的子类利用所供应的办法向某种媒体写进数据,比方,FileOutputStream将数据写进文件,TelnetOutputStream将数据写进收集毗连,不外听到这人人会问了,API中不存在TelnetOutputStream这个类呀,不外想必人人都记得,Sokcet类中有一个getOutputStream的办法,这个办法是取得毗连对象的输入流,前往的是OutputStream,其实质更完全的说应当是收集输入流,这是多态的能力,假如你晓得怎样利用这些超类,你也就晓得怎样利用一切这些子类。
OutputStream中最基础的办法无疑就是write(intb)了,这里固然传进了一个Int,但只吸收0-255范围以内的整数,人人在DataOutputStream中想必还看到过一个writeByte(intv)的办法,这个办法确保了一个Byte以一个Byte的情势写进数据,而且将数据追加到了缓冲区中。
说到缓冲区就不能不提一个flush办法,想必人人也都用过它,我们晓得在OutputStream挪用write方法的时分常常必要挪用一个flush办法,复杂的说是为了革新缓冲区,强迫输入数据,可是为何要强迫输入呢?举一个如许的例子:假定一台服务器与一台客户机之间正在举行通讯,这个时分服务器在守候客户机的动静,假如客户机发送了300个字节的哀求,可是默许缓冲区的巨细是1024个字节,那末这个流的缓冲区就会守候更多的数据到来,而客户机觉得本人的数据已收回往了,天然会守候着服务器的呼应,了局服务器何处因为缓冲区还没满,以是数据迟迟没有离开,了局就构成了一种逝世锁形态。以是我们常常会挪用flush办法,不论你是不是以为有需要革新缓冲区,这都是很主要的,取决于你怎样把持流的援用,你大概晓得流被缓冲,也大概不晓得(比方,不论你是不是但愿,System.out都是缓冲的),flush绝对程序堕落而言是一个低本钱的操纵,以是在必要革新输入的时分不要忘了写上哦。
InputStream,输出流,其实质与输入流恰好构成对峙的干系,用来从媒体中读取数据,最基础的办法是没有参数的read()办法,这个办法从输出流的源中读取一个字节数据,作为一个0到255的int前往,流的停止由前往-1停止,read()办法会守候并堵塞厥后的任何代码的实行,晓得有一个字节的数据可用。但是我们在写通讯的时分却常常不克不及用-1暗示数据的停止,由于我们永久不晓得对方会在甚么情形下真正结束通讯,就像封闭毗连一样,别的一方得告知你甚么在甚么情形下他这句话已说完了,这就触及到通讯协定了,下次再跟人人详细剖析一下。
检察本栏目更多出色内容:http://www.bianceng.cn/Programming/Java/

市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
只想知道 该用户已被删除
沙发
发表于 2015-1-20 09:50:31 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
若天明 该用户已被删除
板凳
发表于 2015-1-21 16:28:21 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
不帅 该用户已被删除
地板
 楼主| 发表于 2015-1-23 16:13:50 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
莫相离 该用户已被删除
5#
发表于 2015-1-31 18:21:40 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
透明 该用户已被删除
6#
发表于 2015-2-1 18:08:07 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-7 12:54:43 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小妖女 该用户已被删除
8#
发表于 2015-2-21 21:19:23 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
9#
发表于 2015-3-6 21:54:41 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-13 21:54:30 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
精灵巫婆 该用户已被删除
11#
发表于 2015-3-20 19:46:02 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 13:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表