JAVA编程:Java言语中字符的处置
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。山西省收集办理中央任军----择要:本文次要会商了Java言语中字符的特别表达情势,特别是中文信息的表达处置,论述了字符处置的关头是要将十六位Unicode字符,转换为当地上层平台,也就是运转Java假造处置机的平台可以了解的字符情势。
----关头词:Java、字符、8位、16位、Unicode字符集
----Java是一种编程言语、一个运转体系、一套开辟工具和一个使用程序编程界面(API)。Java创建在C++的熟习、有效的特性之上,而作废了C++的庞大的、伤害的和过剩的元素。它是一个更平安、更复杂、更简单利用的言语。
1、Java的字符表达
----Java言语和C言语对字符举行了互不不异的形貌,Java利用16位的Unicode字符集(该尺度形貌了很多言语的各类分歧字符),因而Java字符是一个16位的无标记整数,字符变量用来寄存单个字符,而不是完全的字符串。
----一个字符(character),就是单个字母(letter),很多字母组成一个单词,一组单词构成句子,以此类推。可是关于含有诸如中文信息的字符,就不是那末复杂了。
----Java的基础的char范例被界说成无标记的16位,它是Java中独一的一个无标记范例。利用16位表达字符的次要缘故原由是要让Java可以撑持任何Unicode字符,因而而使得Java合用于形貌或显现任何被Unicode撑持的言语,可移植性也就会更好。可是,可以撑持某种言语的字符串显现,和可以准确打印某种言语的字符串,经常是两个分歧的成绩。因为Oak(Java最后的代号)开辟组的次要情况是Unix体系和某些源于Unix的体系,以是对开辟职员来讲,最为便利有用的字符集是ISOLatin-1。响应地,这一开辟组就带有Unix遗传性,也就招致了Java的I/O体系在很年夜水平上以Unix的流观点为模子,而在Unix体系中,每种I/O设备都是用一串8比特的流来暗示。这类在I/O体系方面取模于Unix的做法,使得Java言语具有16位的Java字符,而却只要8位的输出设备,如许就给Java带来了些不敷。因而在任何一处Java字符串按8位来读进或写出的中央,都得有一小段程序代码,被称为"劈(hack)",来将8位的字符映照成为16位Unicode,或将16位的Unicode劈成8位字符。
2、成绩及办理
----我们要完成从一个文件读失信息,特别是读取含有中文信息的文件,并将读取到的信息显现在屏幕上,一样平常我们利用FileInputStream函数翻开文件、readChar函数读进字符。以下:
importjava.io.*;
publicclassrf{
publicstaticvoidmain(Stringargs[]){
FileInputStreamfis;
DataInputStreamdis;
charc;
try{
fis=newFileInputStream("xinxi.txt");
dis=newDataInputStream(fis);
while(true){
c=dis.readChar();
System.out.print(c);
System.out.flush();
if(c==
)break;
}
fis.close();
}catch(Exceptione){}
System.exit(0);
}
}
----可是现实上,运转这一程序,所能失掉的输入了局是一堆无用的乱码。不克不及准确输入xinxi.txt文件内容,其缘故原由是readChar函数读进的是16位的Unicode字符,而System.out.print却将其看成八位的ISOlatin-1字符输入。
----Java1.1版本引进了一套全新的Readers和Writers接口来处置字符。我们能够使用InputStreamReader类而不是DataInputStream来处置文件。修正下面的程序以下:
importjava.io.*;
publicclassrf{
publicstaticvoidmain(Stringargs[]){
FileInputStreamfis;
InputStreamReaderirs;
charch;
try{
fis=newFileInputStream("xinxi.txt");
irs=newInputStreamReader(fis);
while(true){
ch=(char)irs.read();
System.out.print(c);
System.out.flush();
if(ch==
)break;
}
fis.close();
}catch(Exceptione){}
System.exit(0);
}
}
----如许才干准确输入xinxi.txt中的文本(特别是中文信息)。别的,当xinxi.txt文件来自分歧的呆板,即来自分歧操纵平台(或汉字内码分歧)的呆板,好比:文件来自客户端(客户端上传文件给服务器),而读取文中信息的操纵由服务器端实行。假如用下面的程序来完成这一功效,就有大概仍旧不克不及失掉准确的了局。其缘故原由就是输出编码转换失利,我们还必要举行以下的修改:
......
intc1;
intj=0;
StringBufferstr=newStringBuffer();
charlll[][]=newchar;
Stringll="";
try{
fis=newFileInputStream("fname.txt");
irs=newInputStreamReader(fis);
c1=irs.read(lll,0,50);
while(lll!=){
str.append(lll);
j=j+1;
}
ll=str.toString();
System.out.println(ll);
}catch(IOExceptione){
System.out.println(e.toString());}
......
----如许,输入的了局就准确了。固然,下面的程序是不完全的,只是申明了一下办理的办法。
----总之,Java言语中字符处置,特别是中文信息的处置,对照特别。在Java中,字符处置的关头是要将十六位Unicode字符,转换为当地上层平台也就是运转Java假造处置机的平台可以了解的字符情势。
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种语言,用以产生「小应用程序(Applet(s)) 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 是一种为 Internet发展的计算机语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种使用者不需花费很多时间学习的语言 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Java 编程语言的风格十分接近C、C++语言。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java是一种计算机编程语言,拥有跨平台、面向对java
页:
[1]
2