使用ResourceBundle

本文介绍如何使用Java的ResourceBundle进行消息绑定,通过将字符串资源放置于外部.properties文件中,实现轻松更改文字内容而不需重新编译程式。示例展示了如何创建和调用资源束(ResourceBundle)来动态获取消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在程式中有很多字串訊息會被寫死在程式中,如果您想要改變某個字串訊息,您必須修改程式碼然後重新編譯,例如簡單的"Hello!World!"程式就是如此:


Hello.java
package onlyfun.caterpillar; public class Hello { public static void main(String[] args) { System.out.println("Hello!World!"); } }

如果日後想要改變"Hello!World!"為"Hello!Java!",您就要修改程式並重新編譯。

對於日後可能變動的文字訊息,您可以考慮將訊息移至程式之外,方法是使用Java的java.util.ResourceBundle來作訊息綁定,首先您要先準備一個.properties,例如:


messages.properties
onlyfun.caterpillar.welcome=Hello onlyfun.caterpillar.name=World

.properties中撰寫的是key、value,之後在程式中您可以使用key來取得對應的value值,接著改寫Hello類別:

ResourceBundleDemo.java
package onlyfun.caterpillar; import java.util.ResourceBundle; public class ResourceBundleDemo { public static void main(String[] args) { ResourceBundle resource = ResourceBundle.getBundle("messages"); System.out.print(resource.getString( "onlyfun.caterpillar.welcome") + "!"); System.out.println(resource.getString( "onlyfun.caterpillar.name") + "!"); } }

ResourceBundle的getBundle()方法會取得一個ResourceBundle的實例,所給定的參數名稱是訊息檔案的主檔名,取得 ResourceBundle實例後,可以使用getString()指定key值來取得value值,執行結果如下:
Hello!World!


如果您日後想要改變顯示的訊息,只要改變.properties的內容就可以了,例如可以改為:

messages.properties
onlyfun.caterpillar.welcome=Oh onlyfun.caterpillar.name=Java

則直接執行程式就會顯示新的訊息:
Oh!Java!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值