仓酷云

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

[学习教程] JAVA网页设计XML中二进制数据的处置办法

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

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

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

x
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。xml|二进制|数据在xml中,一切的数据都是以文本的情势来显现,可是二进制数据不克不及间接以文本格局来暗示,那xml又是怎样处置二进制数据的呢?上面就来切磋一下。
为了复杂和通用性,xml被计划成了以文本的格局来暗示数据。在xml中,一切的数据都是以文本的格局来存储,二进制数据也不破例。在xml中,二进制数据也要被编码成文本的格局,发送到目标方。目标方吸收到这个文本二进制数据今后,再以不异的解码程序解成响应的二进制数据,固然数据本来的格局,称号等帮助信息必定要看成相干信息一同发送。一样平常二进制数据编码成BASE64格局,它的长处是简单易于编码息争码,弱点是比纯的二进制多占用33%的存储空间。

上面是详细的程序完成:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%

Stringret=newString();

try{

InputStreamin=newFileInputStream("c:aaa.doc");

byte[]bytes=newbyte[in.available()];

in.read(bytes);

ret=newsun.misc.BASE64Encoder().encode(bytes);//详细的编码办法

in.close();

}

catch(FileNotFoundExceptione){

e.printStackTrace();

}

catch(java.io.IOExceptionex){

ex.printStackTrace();

}

%>

ret就是最初的了局,编码今后就能够用尺度的xml体例发送了。发送到目标方今后,还要对数据举行响应的解码,才干失掉本来的二进制文件,解码的代码以下:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%

byte[]bytes=newsun.misc.BASE64Decoder().decodeBuffer(ret);

java.io.ByteArrayInputStreaminStream=newjava.io.ByteArrayInputStream(bytes);

byte[]buffer=newbyte[1444];

FileOutputStreamfs=newFileOutputStream("d:aaa.doc");

intbytesum=0;

intbyteread=0;

while((byteread=inStream.read(buffer))!=-1){

bytesum+=byteread;

fs.write(buffer,0,byteread);

}

%>

BASE64能够处置不太年夜的数据,假如要挪动大批的数据,且要思索空间/工夫效力时,要接纳其他的替换办法。




一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
再现理想 该用户已被删除
沙发
发表于 2015-1-21 11:10:05 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
活着的死人 该用户已被删除
板凳
发表于 2015-1-30 16:35:10 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
透明 该用户已被删除
地板
发表于 2015-2-4 13:42:32 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小女巫 该用户已被删除
5#
发表于 2015-2-10 00:14:12 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
若相依 该用户已被删除
6#
发表于 2015-2-28 09:08:10 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
admin 该用户已被删除
7#
发表于 2015-3-1 18:07:37 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
8#
发表于 2015-3-10 21:40:45 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-11 07:13:42 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
莫相离 该用户已被删除
10#
发表于 2015-3-12 01:09:22 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小妖女 该用户已被删除
11#
发表于 2015-3-19 17:01:36 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
谁可相欹 该用户已被删除
12#
发表于 2015-3-30 21:01:33 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
不帅 该用户已被删除
13#
 楼主| 发表于 2015-4-6 17:16:12 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
兰色精灵 该用户已被删除
14#
发表于 2015-4-8 02:32:35 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
冷月葬花魂 该用户已被删除
15#
发表于 2015-4-10 08:25:13 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
若天明 该用户已被删除
16#
发表于 2015-4-14 06:36:28 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
灵魂腐蚀 该用户已被删除
17#
发表于 2015-4-27 10:26:35 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
乐观 该用户已被删除
18#
发表于 2015-5-4 20:52:04 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
愤怒的大鸟 该用户已被删除
19#
发表于 2015-5-7 04:19:23 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
柔情似水 该用户已被删除
20#
发表于 2015-5-12 13:17:13 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-30 01:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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