仓酷云

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

[学习教程] JAVA教程之让你不忧?:Java的中文编程设置心得

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

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

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

x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。编程|心得|中文  Java的中文编程与设置心得
  Java的中文成绩汗青久长,绵延不停,至今也没有完整办理,可是上有政策下有对策,我们老是有举措弄定它的。跟Java相干的中文成绩次要有两类,一类是编程的成绩,触及到I/O,内码转换等。第二类是Java运转情况的设置,触及字体,属性设置等。我方才用了一天的工夫办理这些成绩,以为很有需要给本人写个备忘录之类的。
  我看仍是从成绩动手吧,如许不致于让人人打打盹。我想写个程序,这个程序有个基础功效就是显现文件内容,我用JTextArea来做显现的事变,程序复杂的抵家了,可是就是中文都是乱码。我的设置是JBuilder7,JBuilder自带的JDK1.3.3_b24,我本人装的JDK是JDK1.4.0_02_b02,都是支流的JDK。操纵体系是英文Windows2000加中文撑持包。
  我实验换JDK,1.3.3和1.4.0都不可,down一个最新的j2sdk-1_4_1-rc也是不可,仿佛不是JDK的成绩,因而我就把精神会合到I/O的编码转换上,我查阅了网上多少关于JAVA中文成绩的文章,把编码转换弄的倍儿分明,但是怎样试,换甚么编码折腾都不可,反而显现的更糟,现在仍是乱的有些礼貌,就是象在纯英文体系上显现的那样,好歹我还晓得那是汉字,只是显现不出来,等我折腾编码,就变得都是问号了。唉,忧郁!
  编码转换心得:
  JAVA外部是UNICODE编码,在I/O时假如利用Reader/Writer就要产生编码转换,利用体系属性file.encoding作为编码体例。假如利用Stream就没有转换的事变了,那是Binary的数据。
  有效的办法有:1。在Reader/Writer上加encoding的选项,注重编码的偏向,在Reader中的encoding暗示把数据从encoding转换成Unicode,writer就是把Unicode的字符转换成encoding格局的。2。用String.getByte()把字符串转换成指定编码。
  经常使用的编码格局:ISO8859_1,这个是英文体系缺省的8bit编码,由于是8bit的,以是不会把汉字的高位删往,以是用它也是能够处置汉字的(我本人这么了解,总以为有些不当,但又不晓得不当在那边,还看高人指出)。GB2312和GBK,汉字编码,保举利用GBK,它兼容GB2312而且撑持更多汉字。UNICODE,一个年夜的字符集,不知是否是国际尺度归正人人都撑持,利用16位对每一个字符编码,汉字固然正符合,但英文却亏损了,要用多一倍的空间来存储,以是良多人仍是老迈不愿意,写的程序不撑持UNICODE。
  JSP/Servlet的中文成绩有两种办理举措:1。不在程序中举行编码转换,把这个事情交给扫瞄器,办法就是用javacCencodingGBK*.java来编译一切的bean,然后在JSP页面上加
<%@pagecontentType="text/html;charset=gb2312"%>  <%@pagecontentType="text/html;charset=gb2312"%>
  大概是在HTML中间接加:
  究竟加谁人,尝尝就晓得了,我也弄不分明了。
  2。在程序中指定编码,用javacCencodingISO8859_1*.java来编译一切的bean,在触及到中文显现的程序上加
  str=newString(str.getBytes("ISO8859_1"));
  下面两种办法不克不及混用,意义就是要末就是GBK,要末就是ISO8859_1,从里到外都一样就行了。
  数据库JDBC的中文成绩,一样平常只需依照数据库指定的编码举行转换,好比依照ISO8859_1读,ISO8859_1写,一样平常就没甚么成绩了。
  固然有这些编码上的心得,可是其实不能办理我的成绩。看来我的程序输出输入用的都是ISO8859_1,我的成绩跟编码没甚么干系。是否是字体的成绩呢?在Swing的组件中,字体老是那末几个,基础上是定逝世的,选谁人都不可。可是我俄然发明能够变动这些字体的设置,就是font.properties这个文件,一样平常JDK都带了中文的字体设置文件,多是font.properties.zh之类的,分歧版本的JDK名字有些不同,你要做的就是用中文的设置掩盖font.properties文件。我满心欢乐的觉得乐成了,可是失利无情的又一次冲击了我。不是这类办法不合错误,可是在Windows体系中,java可以对照主动的反省你的体系编码,利用最符合的字体设置文件,一样平常不必要你修改了,在JDK1.2之前的确是要这么改的,难怪那篇文章是JDK1.1的文档呢。
  连font.properties也不灵了,唉,是否是JBuilder有成绩呀?到了这儿,我不能不嫌疑它了,固然它从没让我扫兴过,我关失落JBuilder,拿起JDK命令行,哎呀!心爱的中文居然出来了!几乎是.....稀里糊涂呀,由于JBuilder也是用的这个JDK呀?没来由呀,我再次翻开JBuilder,运转,乱码!怪事.......我来看看.....我把JBuilder内里的实行命令拷贝到DOS窗口内行动实行....没有中文.....怪怪怪,我细心对比我手敲的命令和JBuilder拷出来的命令,除我用的是java它用的是javaw以外,其余几近都一样,岂非.......这个java和javaw居然会纷歧样?
  唉.......要我说甚么呢,谜底就是这个了,javaw会利用与java分歧的Local设置举行事情,招致了我一向看不到中文,而java就是好好的。JBuilder也是好好的,没有成绩,挪用javaw也不是它的错,岂非你想每次运转大概调试的时分蹦出个DOS黑框么?呵呵。这是JDK的一个Bug,我在java的网站上查到这个bug,形貌的情形跟我的一样,然后Sun说这个Bug已修复了,嘿嘿,几乎就是扯淡!修复个茄子!Bug编号是:4629351。不信能够往看看。
  可是岂非我就不克不及在JBuilder内里看我心爱的中文了吗?仿佛JBuilder5的时分还能选择是用java仍是javaw,如今仿佛没法儿选了。怎样才干让javaw撑持中文呢?经由又是一番苦苦查找,居然没有甚么了局,忧郁!合法苦闷之时,俄然想起现在设置过UNIX下的TOMCAT,仿佛加了些启动参数,就可以让tomcat撑持中文了,从速翻出之前的文档,啊,幸亏我现在写了事情心得,要否则又抓瞎了。实在事理很复杂,就是给JAVA假造机加上一些属性:
-Dfile.encoding=GBK-Ddefault.client.encoding=GBK-Duser.language=zh-Duser.region=CN
  把它跟在javaw的命令行前面当参数,哈哈,弄定!
  在JBuilder当选择Project->ProjectProperties->run->edit->VMParameters,填上就好了!
  设置心得:
  在JDK低版本和UNIX下,必要修改font.properties,让JAVAVM可以找到符合的字体来显现汉字。
  今朝为止,javaw有Bug,只利用英文的Local,必要给VM加上属性才行一般显现中文。

自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
简单生活 该用户已被删除
沙发
发表于 2015-1-18 17:42:58 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-20 20:28:16 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
深爱那片海 该用户已被删除
地板
发表于 2015-1-25 10:11:58 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
第二个灵魂 该用户已被删除
5#
发表于 2015-1-25 18:05:24 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
冷月葬花魂 该用户已被删除
6#
发表于 2015-1-26 23:21:36 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
爱飞 该用户已被删除
7#
发表于 2015-1-29 11:15:47 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
若相依 该用户已被删除
8#
发表于 2015-2-5 07:30:17 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
变相怪杰 该用户已被删除
9#
发表于 2015-2-10 21:50:40 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小女巫 该用户已被删除
10#
发表于 2015-2-14 16:54:14 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
莫相离 该用户已被删除
11#
发表于 2015-2-27 15:43:19 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
山那边是海 该用户已被删除
12#
发表于 2015-3-7 09:00:38 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
再现理想 该用户已被删除
13#
发表于 2015-3-8 14:13:05 | 只看该作者
是一种突破用户端机器环境和CPU
乐观 该用户已被删除
14#
发表于 2015-3-16 00:51:35 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
精灵巫婆 该用户已被删除
15#
发表于 2015-3-22 18:10:55 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-28 15:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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