java小例子和国际化
2011-08-21 23:22 Rollen Holt 阅读(5889) 评论(0) 编辑 收藏 举报/** * @author Rollen-Holt JVM虚拟机的内存信息 */ class hello{ public static void main(String[] args){ Runtime run = Runtime.getRuntime(); System.out.println("JVM的最大内存量为: " + run.maxMemory()); System.out.println("JVM的空闲内存量为: " + run.freeMemory()); for(int i = 0; i < 100000000; ++i) { String str = new String("asda"); } System.out.println("JVM的空闲内存量为: " + run.freeMemory()); run.gc(); System.out.println("JVM的空闲内存量为: " + run.freeMemory()); } }
【运行结果】:
在我的电脑上的输出结果为:
JVM的最大内存量为: 259522560
JVM的空闲内存量为: 15931440
JVM的空闲内存量为: 13478600
JVM的空闲内存量为: 16070800
/** * @author Rollen-Holt 使用Runtime运行本机可运行程序 */ class hello{ public static void main(String[] args){ Runtime run = Runtime.getRuntime(); try{ run.exec("notepad.exe"); //打开记事本程序 }catch (Exception e) { e.printStackTrace(); } } }
【运行结果】:
会打开windows自带的记事本程序
/** * @author Rollen-Holt * 使用Runtime运行本机可运行程序 * 并且使其5秒后自动关闭 */ class hello{ public static void main(String[] args){ Runtime run = Runtime.getRuntime(); Process pro=null; try{ pro=run.exec("notepad.exe"); //打开记事本程序 }catch (Exception e) { e.printStackTrace(); } try{ Thread.sleep(5000); }catch (Exception e) { e.printStackTrace(); } pro.destroy(); } } /* * 此程序说明 exec的返回类型是Process类型 * 如果要想使得进程消失,可以使用destroy方法 */
关于国际化:
首先建立一个名称为:Message.properties的文件
然后在里面写入
name=Rollen Holt
之后再同一个目录下建立一个.java文件。代码为:
import java.util.*; class hello{ public static void main(String[] args){ ResourceBundle res=ResourceBundle.getBundle("Message"); System.out.println(res.getString("name")); } }
输出结果为:Rollen Holt
上面的例子有一个问题,如果在资源文件输入中文的话,会出现乱码,必须将中文转化为Unicode编码
方法是:
比如我的目录是:F:\我的文件\我的资料\我的学习资料\我的程序\java\hello\src
下面有2个文件:
我们想将1.properties中的中文内容转化为Unicode编码(目前里面的内容是:name=任文超)
cmd然后在命令行下:
首先定位到你的目录,对于笔者来说:
然后:
就会发现在目录下多了一个文件:
里面的内容是:
name=\u4efb\u6587\u8d85
然后编写程序代码:
import java.util.*; class hello{ public static void main(String[] args){ Locale zhLoc=new Locale("zh","CN"); ResourceBundle res=ResourceBundle.getBundle("Message",zhLoc); System.out.println(res.getString("name")); } }
输出的结果自然是:任文超
国际化之动态文本:
将name=你好,{0}!
转化为unicode编码,其余同上
然后编写代码:
import java.util.*; import java.text.*; class hello{ public static void main(String[] args){ Locale zhLoc=new Locale("zh","CN"); ResourceBundle res=ResourceBundle.getBundle("Message",zhLoc); String str=res.getString("name"); System.out.println(MessageFormat.format(str, "任文超")); } }
输出结果:你好,任文超!
其实也可以使用类来替代资源文件的,但是在实际使用中很少使用类,此处就不说了,使用类是在太麻烦了。呵呵,留给有兴趣的朋友去干把。
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================