00000005.htm
来自「水木清华BBS」· HTM 代码 · 共 83 行
HTM
83 行
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: saturnian (hotaru), 信区: Java <BR>标 题: Java1.1汉字问题解决方案 <BR>发信站: BBS 水木清华站 (Tue Dec 9 20:40:26 1997) <BR> <BR>1. 复制字体文件(以win95环境为例) <BR> <BR> cd <jdk或jre目录>\lib <BR> copy font.properties.zh font.properties <BR> <BR> 另外有font.properties.zh_TW(繁体)、font.properties.ja(日文) <BR> 和font.properties.ko(韩文)可供选择。 <BR> <BR> <BR>2. 支持中文的字体 <BR> <BR> Dialog, Dialoginput, Serif, Sansserif, Monospaced <BR> <BR> 注意:其他字体如TimesRoman, Courier等均不支持中文 <BR> <BR>3. 程序设计上要注意的问题 <BR> <BR> a. 不要使用DataInputStream与DataOutputStream,而要用 <BR> BufferedReader与BufferedWriter。例如: <BR> <BR> BufferedReader in=new BufferedReader <BR> (new InputStreamReader(new FileInputStream(file))); <BR> <BR> BufferedWriter out=new BufferedWriter <BR> (socket.getOutputStream()); <BR> <BR> 详细资料请参考jdk文档。 <BR> <BR> b. Properties类的save()和load()方法中文支持亦有问题。建议 <BR> 不要使用它们,而用BufferedReader与BufferedWriter自行写 <BR> 输入输出。 <BR> <BR> c. 对程序员而言,字符串无需任何转换(我指String.getBytes() <BR> 方法),亦无须使用Locale类。如果你还是担心,可在程序开头 <BR> 使用以下方法: <BR> Locale.setDefault(Locale.SIMPLIFIED_CHINESE); <BR> 但是这样做会使你的程序失去支持多内码的能力。不推荐使用。 <BR> ^^^^^^^^^^ <BR>4. 测试心得 <BR> <BR> 以上方法在win95平台上经测试完全没问题。java.awt包中的组件, <BR> 包括Label, Button, TextField, TextArea, List等等均无问题,而且 <BR> Graphics.drawString()方法亦可正常画出中文。另外文本文件的读写、 <BR> 网络的文本传输均未发现问题。 <BR> 另外,jre是分英文版和国际版的,若不使用国际版,就无法支持 <BR> 中文以及其他内码。jdk则肯定支持中文。 <BR> <BR>5. 仍存在的小问题 <BR> <BR> TextComponent(即TextField与TextArea)的selectAll()方法。因 <BR> String.length()求出的长度是unicode的长度,若文本中有中文,该 <BR> 方法无法把文本全部选上。 <BR> 另外,TextComponent内亦无法输入中文,需使用copy/paste。 <BR> <BR> ... 暂时只发现这些... :) <BR>-- <BR> Hotaru -> Saturn ? <BR> Hotaru == Saturn ?? <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.116.95.22] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?