RESOURCE_BUNDLE 提供了一个键值对让我们更加容易将一些文本字符串信息放在外部,增加灵活性。
key1=value1
key2=value2
读的方法eclipse默认就带了
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.Locale;
/**
* @author liweigong
*/
public class Message
{
private static final String BUNDLE_NAME = "message";
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
.getBundle(BUNDLE_NAME, Locale.getDefault());
private Message()
{
}
public static String getString(String key)
{
try
{
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e)
{
e.printStackTrace();
return '!' + key + '!' + " Not Found!";
}
}
}
但是对所读的文件的编码要求一定要是iso8859-1,如果把文件换成GBK、UTF-8或者其他那么则无法读取,在上述代码则会炮出类似
Can't find resource for bundle java.util.PropertyResourceBundle, key WebImage
的异常。
所以要想读中文,只有把文件转换为UTF-8的ascii码才可以。
一般利用java自带的工具native2ascii便可。
联想:N年前一直纳闷什么时候才会用到这个工具。原来在文件读取的时候,读的文件与被读的文件之间的编码会成为问题。JAVA支持的字符编码集是unicode,即System.out.print("\uXXXX")便可以输出在UNICODE里对应的字符,native2ascii做的就是这件事,把每个各种编码的字符转换成unicode中对应的ascii码。在iso8859-1中根本没有对应中文的ascii码那么势必无法利用这样的文件保存中文了,所以,只有使用正确的字符集对编码进行解析才可以获得想要的字符。
分享到:
相关推荐
- **编码问题**:在处理文件路径时,确保正确使用URL编码和解码。 - **线程安全**:如果你在多线程环境中操作文件,可能会出现并发冲突。确保操作是线程安全的。 - **资源未加载**:如果文件是随程序一起打包的,...
5. **处理输入输出流**:如果涉及文件读写操作,确保在打开文件流时指定UTF-8编码,例如使用 `BufferedReader` 和 `FileReader` 的构造函数。 ```java InputStreamReader reader = new InputStreamReader(new ...
如果你的项目使用了Spring框架,可以利用Spring的`Resource`接口来读取配置文件,它支持从类路径、文件系统、URL等多种来源加载资源: ```java Resource resource = new ClassPathResource("config.properties");...
1. **修改jrxml文件编码**:确保`.jrxml`文件的编码设置为UTF-8,这可以在文件属性或者编辑器中设置。 2. **设置报表的文本域编码**:在`iReport`的设计界面中,选择文本框,然后在“Miscellaneous”选项卡中设置...
9. **编码与乱码问题**:确保所有.properties文件使用正确的字符编码(通常为UTF-8),以避免乱码问题。 10. **测试与调试**:在开发过程中,使用多种语言环境进行测试,确保每个语言版本的程序都能正常工作。 这...
1. **Resource Bundle编辑器**:ResourceBundleEditor_v0.7.7是这个插件的核心组件,它提供了一个图形化的界面,使得开发者能够轻松创建、编辑和管理Resource Bundle文件。这个编辑器支持.properties文件的编辑,这...
- 打开MyEclipse,选择项目,右键点击“New” -> “Other” -> “Java” -> “Resource Bundle”,然后输入文件名(如`config.properties`)并确认。 - 创建完成后,MyEclipse会自动生成默认的键值对,如`key=...
1. **文件编码设置**:VSCode默认的文件编码可能是UTF-8,但根据项目的实际需求,可能需要设置为GBK或其他编码。这可以在VSCode的设置中完成,搜索"files.encoding"并设置为所需的编码格式。 2. **项目编码配置**:...
- 如果涉及到多语言支持,正确设置`Resource Bundle`的编码,并在JSP中使用`fmt`标签库进行国际化处理。 解决JSP中文显示问题通常需要从多个层面进行排查和调整,包括但不限于上述方法。在实际操作中,应根据具体...
此外,Eclipse还提供了其他方式来解决中文乱码问题,例如使用Resource Bundle或字符编码转换工具。但是,设置workspace编码方式是最简单和最直接的方法。 解决Eclipse中文乱码问题的关键在于设置正确的workspace...
在Java中,这一过程通常通过使用Resource Bundle和Locale对象来完成。 1. **创建Resource Bundle**: Resource Bundle是一组按语言和国家/地区分组的属性文件,用于存储应用中的可变文本。在Struts2中,这些文件...
- 资源文件系统:许多编程语言或框架(如Java的Resource Bundle、C#的Resource Manager)提供了内置机制来管理程序中的资源。 4. **运行时加载**: - 内存映射:在程序启动时,可以将声音文件加载到内存中,以...
在创建portlet时,可以通过设置“Create resource bundle file”选项自动生成资源文件。若未自动创建,需要手动添加`<resource-bundle>`标签,并在`src/content/Language`目录下创建对应语言的`.properties`文件,如...
在实际开发中,`native2ascii`命令常用于处理Java的resource bundle文件,如.properties或.res文件。这些文件通常包含国际化字符串,可能包含非英文字符。在编译Java应用时,这些非ASCII字符需要转换为Unicode转义...
- 如果涉及到多语言支持,需要考虑`Accept-Language`头字段,以及`Resource Bundle`的编码设置。 10. **问题排查**: - 查看HTTP响应头的`Content-Type`,确认服务器返回的字符集。 - 检查JSP源代码,确认`...
为了更好地支持多国语言显示,Servlet与JSP项目通常会使用国际化资源文件(Resource Bundle)。这些文件以.properties或.xml格式存储,包含针对不同语言环境的键值对,如`message_zh_CN.properties`和`message_en_US...
if let path = Bundle.main.path(forResource: "FileName", ofType: "plist") { let dict = NSDictionary(contentsOfFile: path) // 处理dict... } // 写入 let dict: [String: Any] = ["key": "value"] do ...
- **编码问题**:确保所有字符串文件使用统一的字符编码,如UTF-8,以防止乱码问题。 - **效率优化**:由于J2ME运行在资源有限的设备上,因此需要考虑效率。可以预先加载最常用的Locale,或者在需要时按需加载,以...