JAVA网页设计XML中二进制数据的处置办法
在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.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;
FileOutputStreamfs=newFileOutputStream("d:aaa.doc");
intbytesum=0;
intbyteread=0;
while((byteread=inStream.read(buffer))!=-1){
bytesum+=byteread;
fs.write(buffer,0,byteread);
}
%>
BASE64能够处置不太年夜的数据,假如要挪动大批的数据,且要思索空间/工夫效力时,要接纳其他的替换办法。
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。 Java是一种计算机编程语言,拥有跨平台、面向对java 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种语言,用以产生「小应用程序(Applet(s)) 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
页:
[1]