java使用指定的国际化文件

java代码:

import java.util.Locale;

import org.junit.Test;

/**
 * 使用指定的国际化文件
 */
public class Demo {

    @Test
    public void testName1() throws Exception {

        // 指定国际化为中国中文
        Locale locale = new Locale("zh", "CN");

        /*
         * getBundle的第一个参数(baseName):
         *         |- 默认路径为classpath路径。
         *         |- 如果传参‘myres‘,就会去找src的下以myres开头的properties文件; 如:src/myres(*).properties
         *         |- 如果传参‘demos/java/util/locale/myres‘,则去找src下路径为‘demos/java/util/locale‘的文件夹下的myres(*).properties文件。
         *
         * getBundle的第二个参数(locale):
         *         |- 指定了使用哪种国际化语言。
         *             |- 如果指定了使用国际化语言new Locale("zh", "CN");,则去找myres_zh_CN.properties文件
         *             |- 如果指定了使用国际化语言new Locale("en", "US");,则去找myres_en_US.properties文件
         *             |- 如果上面两个文件找不到,则去找myres.properties文件(默认使用)。
         */
        java.util.ResourceBundle resourceBundle = java.util.ResourceBundle.getBundle("demos/java/util/locale/myres",
                locale);

        System.out.println(resourceBundle.getString("aaa"));
        System.out.println(resourceBundle.getString("bbb"));
        /*
         * 打印结果
         * ----------
         * 很好
         * 谢谢
         */
    }

    @Test
    public void testName2() throws Exception {

        Locale locale = new Locale("en", "US");

        java.util.ResourceBundle resourceBundle = java.util.ResourceBundle.getBundle("demos/java/util/locale/myres",
                locale);

        System.out.println(resourceBundle.getString("aaa"));
        System.out.println(resourceBundle.getString("bbb"));
        /*
         * 打印结果
         * -------------
         * good
         * thanks
         */
    }
}

国际化文件路径(src/demos/java/util/locale):

myres.properties

aaa=good
bbb=thanks

myres_en_US.properties

aaa=good
bbb=thanks

myres_zh_CN.properties

aaa=\u5F88\u597D
bbb=\u8C22\u8C22

原文地址:https://www.cnblogs.com/zj0208/p/8252671.html

时间: 2024-08-26 08:46:19

java使用指定的国际化文件的相关文章

java按指定后缀复制文件并保留原始文件夹路径

为了只复制java原代码文件,不要class文件或其他不需要的文件,写的一个java窗口小程序 指定文件后缀,原始文件文件夹路径,目的文件夹路径,如原始路径为,D:\Projects,目的路径为C:\User\ABC\Desktop\newProject\, 要复制.java文件,复制后的路径为C:\User\ABC\Desktop\newProject\Projects\...不改变原路径,只复制.java文件 1 package copyfile; 2 /** 3 * @author ycl

java 复制指定后缀名文件并修改其后缀名

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; /** * 将c:\cn目录下的所有.java文件复制到c:\test目录下,并将原来文件的扩展名从.java改为.wl. * @author wl * @time

Java 把指定路径的文件读入内存并用字节数组保存工具方法

/** * * @param path 文件路径 * @return 文件转成字节数组 */ public static byte[] getByteArrayFrom(String path){ byte[] result=null; ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); //创建文件 File file=new File(path); FileInputStream fileInputStream=nu

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景: 把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处.在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题. 先上代码: static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样 static long chars=0;//chars指的是

JAVA之IO技术中对指定存在的文件进行续写

package ioTest.io1; import java.io.FileWriter; /* * 对已有文件中的数据进行续写 * 为了方便处理,这里面的异常都直接抛出 */ public class FileWriterDemo2 { public static void main(String[] args) throws Exception { //参数true,确定了对指定存在的文件进行续写,而不是替换其中的内容. FileWriter fWriter=new FileWriter(

java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)

java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io.File.listFiles(FilenameFilter filter)方法的声明: public File[] listFiles(FilenameFilter filter) 参数 filter - 文件名过滤器 返回值 该方法返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的

Java实现将指定文件夹内的指定类型的文件归类

这两天在学Java IO流,正好让我产生了将自己的电子书归类的打算,说做就做,Why not?看着自己所学所用能解决生活中的实际问题,是不是很有成就感,那是必须的! package DepthSearch; import java.util.*; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import ja

JAVA使用和操作properties文件

java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便.Properties 类存在于包 Java.util 中,该类继承自 Hashtable. 1. getProperty ( String  key) ,   用指定的键在此属性列表中搜索

给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数

public class ComputeSourceLine { public static void main(String[] args) throws FileNotFoundException { // TODO Auto-generated method stub // 定义相关变量 int totalLine = 0; int emptyLine = 0; int commentLine = 0; int codeLine = 0; // 大家重点了解 Scanner类(网络搜索)