`

如何做JAVA 资源文件

阅读更多
1.先一个资源类

public class Resources {
    private String key;
    public final static Resources REQUEST_MIDDLE_ICON= new Resources("request.middle.icon");
    
    private static ResourceBundle resourceBundle;
    private static Map entries;
    private Resources(String key){
        this.key=key;
        if(entries == null){
            entries= new HashMap();
        }
        entries.put(key, this);
    }
    
    public static void init(Class pluginClass){
        if(resourceBundle==null){
            resourceBundle = ResourceBundle.getBundle(pluginClass.getName()+"Resources");
        }
    }
    
    public ResourceBundle getResourceBundle(){
        return resourceBundle;
    }
    public String toString(){
        return this.toString(null);
    }
    
    public String toString(Object[] arguments) {
        try {
            String value = getResourceBundle().getString(this.key);
            return MessageFormat.format(value, arguments);
        } catch (MissingResourceException e) {
            return "!" + key + "!";
        }
    }
}


这里的ResourceBundle.getBundle(pluginClass.getName()+"Resources")
pluginClass.getName()+"Resources 这个是资源的文件名,根据这个文件名它会去找这个文件名的 properties文件, 文件名里如果有点,比如包名,都会自动转化。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2.然后是在另一个类中 INIT这个资源类,从而加载资源文件。
例如我在我的Activator类中
public class Activator extends AbstractUIPlugin {
......

	public Activator() {
	    Resources.init(this.getClass());
	}

......

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
3.这样,当Activator被加载时候,Resources的init方法就会被调用,从而根据资源类同级目录下的资源文件就会被加载,根据这个init方法,这个资源文件的名字应该是:ActivatorResources.properties.
所以我们也在这个建立以个这样的资源文件。
文件里可以写:
引用
request.middle.icon = icons/request_32px.png

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
4.这样我们在别的类 调用 Resources.REQUEST_MIDDLE_ICON.toString()
时候,就可以把资源文件里的icons/request_32px.png 读到。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
5.如果我们不想读默认的资源文件,读其他国家的资源文件,比如。
这里用WEB方面作为例子。
    Locale locale = Locale.getDefault();
    ResourceBundle localResource = ResourceBundle.getBundle("ConnResource", locale);

    String value = localResource.getString("test");
    System.out.println("ResourceBundle: " + value);

    这里对应了/WEB-INF/class/ConnResource.properties文件内容为:

    test=hello world

    打印出来的结果就是hello world
   
    请注意,这里我们可以利用Locale和ResourceBundle的这个组合创建国际化的java程序。我们可以把locale实例化为new Locale("zh","CN");

    通过ResourceBundle.getBundle("MessagesBundle", locale);

    系统将自动寻找MessagesBundle_zh_CN,即定义为中国大陆地区简体中文。如果没有该文件,则会依次寻找MessagesBundle_zh,MessagesBundle,直到找到为止
分享到:
评论

相关推荐

    java 读取资源文件

    在Java编程中,读取资源文件是常见的任务,特别是在配置应用程序、处理文本数据或加载本地化内容时。本文将深入探讨如何使用Java读取资源文件,特别是properties类型的文件。 资源文件通常存储在项目的类路径...

    java解析资源文件

    在Java编程中,解析资源文件是一项常见的任务,它涉及到读取和操作项目中的文本、配置、图片等非代码数据。本教程将深入讲解如何在Java中处理资源文件,以及使用jbom解析工具的相关知识。 首先,理解资源文件的定位...

    java 获取i18n资源文件 java 获取i18n资源文件

    java 获取i18n资源文件 java 获取i18n资源文件java 获取i18n资源文件 java 获取i18n资源文件java 获取i18n资源文件 java 获取i18n资源文件java 获取i18n资源文件 java 获取i18n资源文件java 获取i18n资源文件 java ...

    android apk 反编译java文件对应的资源批量修改(更改为R.java文件中的R.string.name格式)

    本文将反编译apk的java文件和资源文件重新关联引用对应,使得java文件能准确无误地重新引用资源文件。 (1)将反编译出的资源文件拷进studio中建项目,此时拷入的资源文件在R.java中会注册上; (2)从反编译出的...

    java实现文件加密解密

    Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,减少了应用程序本身的大小...

    JAVA开发文件管理系统

    使用java开发一个文件管理系统,通过软件达成对电脑上文件的移动复制粘贴删除等功能。

    java图形化实现文件上传_javagui上传文件,gui编写上传下载文件功能-Java文档类资源

    利用java图形化界面和网络编程相结合实现的--文件上传。 运行步骤: (1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 ...

    java文件路径获取

    - **Classpath**: 是Java运行环境的一个重要概念,它指定了Java虚拟机(JVM)加载类和资源文件的路径。 - **Resource**: 在Java中通常指的是类路径下的文件,如配置文件、图片等非可执行代码的文件。 - **URL**: ...

    java 分割文件 将大文件分割成小文件

    在Java编程语言中,分割大文件是一项常见的任务,特别是在处理大量数据或需要分批传输大文件的场景下。本文将详细介绍如何使用Java将一个大文件按照特定条件(如文件大小或生成日期)分割成多个小文件。 首先,我们...

    文件资源管理器(java)文件打开删除复制粘贴等

    本篇文章将深入探讨如何使用Java来创建一个能够进行文件打开、删除、复制和粘贴操作的文件资源管理器。 首先,我们要了解Java中处理文件的基本类,如`java.io.File`。`File`类提供了许多方法,如`exists()`用于检查...

    Java简易文件管理器

    3.实现文本类文件(.txt, .java, .ini, .bat, )的预览功能(比如实现对前100行文本在某个小窗口中进行预览)。4.实现文件的重命名功能。5.实现对某个文件夹进行统计功能(如统计文件夹中文件数目)。

    JAVA 显示文件目录(像windows的资源管理器一样)

    JAVA 显示文件目录(像windows的资源管理器一样) 这个程序是使用 JAVA 语言编写的,目的是为了显示文件目录,类似于 Windows 的资源管理器。下面将详细讲解这个程序的知识点: 1. JAVA Swing 库 这个程序使用了 ...

    java课程设计作业-基于java+swing构建的数独小游戏(源码+资源文件)

    java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言:java 界面绘制:swing IDE:MyEclipse,IDEA java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言...

    java读取资源文件

    在Java编程中,读取资源文件是一项常见的任务,特别是在开发应用程序时,我们可能需要加载配置文件、图片、音频或视频等资源。在这个场景下,我们将深入探讨如何在IntelliJ IDEA(Idea)环境中读取资源文件,特别是...

    java保存文件到数据库

    在Java编程中,将文件保存到数据库是一种常见的需求,特别是在处理图像、文档和其他非结构化数据时。这个过程涉及到将文件转换为二进制数据,然后将这些数据存储到数据库的特定字段中,通常是一个BLOB(Binary Large...

    java实现文件浏览器

    用JAVA语言实现的文件浏览器,类似于资源管理器的功能;

    java 静态代码块通过类加载器获取资源文件例子

    总之,通过Java的静态代码块和类加载器,我们可以有效地管理和加载资源文件,特别是属性配置文件,确保在程序启动时即完成初始化工作,提升应用性能。这种技术在大型复杂系统中尤其常见,因为它能够保证配置的正确性...

    java对mht文件解析

    在MHT文件中,通常包含一个主HTML文档以及多个被引用的资源文件(如图片、CSS文件等)。这些文件按照MIME类型的定义组织在一起,并通过特定的边界(boundary)进行分隔。 #### 三、Java解析MHT文件的关键步骤 ####...

    java资源Java文件上传组件COSjava资源Java文件上传组件COS

    java资源Java文件上传组件 COSjava资源Java文件上传组件 COS提取方式是百度网盘分享地址

    基于Java的文件管理系统源码.zip

    1. 模仿Windows的文件资源管理器对本机的文件目录树的显示,对文件目录进行查看和浏览,用地址栏、文件目录树、打开文件夹等方法都可以在文件目录之间进行跳转 2. 对文件的基本操作:打开、删除、批量删除、...

Global site tag (gtag.js) - Google Analytics