仓酷云

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

[学习教程] 发布一篇完全变化流,第1部分

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

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

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

x
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发
一般,JavaI/O框架用处极为普遍。统一个框架撑持文件存取、收集会见、字符转换、紧缩和加密等等。不外,偶然它不是非常天真。比方,紧缩流同意您将数据写成紧缩格局,但它们不克不及让您读取紧缩格局的数据。一样地,某些第三方模块被构建成写出数据,而没有思索使用程序必要读取数据的情况。本文是两部分系列文章的第一部分,Java暗码专家和作家MerlinHughes先容了使使用程序从仅撑持将数据写至输入流的源中无效读取数据的框架。
自初期基于扫瞄器的applet和复杂使用程序以来,Java平台已有了伟大的开展。如今,我们有多个平台和提要及很多新的API,而且还在制造的差未几有数百种之多。只管Java言语的庞大水平在不休增添,但它关于一样平常的编程义务而言还是一个杰出的工具。固然偶然您会堕入那些日复一日的编程成绩中,但偶尔您也可以回过火往,发明一个很棒的办理计划来处置您之前曾屡次碰到过的问题。
就在头几天,我想要紧缩一些经由过程收集毗连读取的数据(我以紧缩格局将TCP数据中继到一个UDP套接字)。记得Java平台自版本1.1入手下手就撑持压缩,以是我间接乞助于java.util.zip包,但愿能找到一个合适于我的办理方案。但是,我发明一个成绩:机关的类都合用于惯例情形,即在读取时对数据解紧缩而在写进时紧缩它们,没有别的变通办法。固然绕过I/O类是大概的,但我但愿构建一个基于流的办理计划,而不想偷懒间接利用紧缩程序。
不久之前,我在另外一种情形下也碰到过完整不异的成绩。我有一个base-64转码库,与利用紧缩包一样,它撑持对从流中读取的数据举行译码,并对写进流中的数据举行编码。但是,我必要的是一个在我从流中读取数据的同时能够举行编码的库。
在我动手办理该成绩时,我熟悉到我在另外一种情形下也碰到过该成绩:当序列化XML文档时,一般会轮回遍历全部文档,将节点写进流中。但是,我碰到的情形是必要读取序列化格局的文档,以便将子集从头剖析成一个新文档。
回过火想一下,我意想到这些伶仃事务暗示了一个个性的成绩:假如有一个递增地将数据写进输入流的数据源,那末我必要一个输出流使我可以读取这些数据,每当必要更多半据时,都能通明地会见数据源。
在本文中,我们将研讨对这一成绩的三种大概的办理计划,同时决意一个实现最好办理计划的新框架。然后,我们将针对下面列出的每一个成绩,查验该框架。我们将简明地谈及功能方面的成绩,而把对此的大批会商留到下一篇文章中。
I/O流基本常识
起首,让我们复杂回忆一下Java平台的基础流类,如所示。OutputStream暗示对其写进数据的流。一般,该流将间接毗连至诸如文件或网络毗连之类的设备,或毗连至另外一个输入流(在这类情形下,它称为过滤器(filter))。一般,输入流过滤器在转换了写进个中的数据以后,才将转换后发生的数据写进相连的流中。InputStream暗示能够从中读取数据的流。一样,该流也间接毗连至设备或别的流。输出流过滤器从相连的流中读取数据,转换该数据,然后同意从中读取转换后的数据。
.I/O流基本常识

就我最后的成绩看,GZIPOutputStream类是一个输入流过滤器,它紧缩写进个中的数据,然后将该紧缩数据写进相连的流。我必要的输出流过滤器应当能从流中读取数据,紧缩数据,然后让我读取了局。
Java平台,版本1.4已引进了一个新的I/O框架java.nio。不外,该框架在很年夜水平上与供应对操纵体系I/O资本的无效会见有关;并且,固然它确实为一些传统的java.io类供应了相似功效,并能够暗示同时撑持输出和输入的两重用处的资本,但它其实不能完整替换尺度流类,而且不克不及间接处置我必要解决的成绩。
<p>
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-20 15:33:06 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
简单生活 该用户已被删除
板凳
发表于 2015-1-26 22:24:06 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
飘灵儿 该用户已被删除
地板
发表于 2015-2-2 21:51:40 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
活着的死人 该用户已被删除
5#
发表于 2015-2-8 07:44:36 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
透明 该用户已被删除
6#
发表于 2015-2-25 00:53:25 | 只看该作者
是一种使用者不需花费很多时间学习的语言
小妖女 该用户已被删除
7#
发表于 2015-3-7 14:50:40 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
变相怪杰 该用户已被删除
8#
发表于 2015-3-15 07:37:23 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
柔情似水 该用户已被删除
9#
发表于 2015-3-21 20:49:33 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 21:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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