java资源文件是什么啊,今天学到程序的国际化,说是把要输出的字符串定义在资源文件中,怎么定义呢

Python013

java资源文件是什么啊,今天学到程序的国际化,说是把要输出的字符串定义在资源文件中,怎么定义呢,第1张

所谓资源文件就是*.properties啊,把需要国际化的输出字符串都弄成键值对存放在properties中,每种语言一个配置文件,键相同,值就是各种语言的翻译;国际化的时候读取不同的配置文件就OK了:Properties p=new Properties()

p.load(new FileInputStream(new File(String FileName)))p.getProperty(String key)。

Java中除了.java和.class以外的文件都可以称作是资源,一般放在resource文件夹下面。

资源文件有很多种,常见的有.properties文件,.xml文件,其他还有.json等等

(一)用Class类加载资源文件

通过调用Class类的getResourceAsStream方法来加载资源文件:

public InputStream getResourceAsStream(String pathToConfigFile);

该方法接收一个String类型的参数(pathToConfigFile)来表示资源文件的地址,如果加载成功,则返回该资源文件的输入流(InputStream),如果失败,则返回null。重要的是,在传入pathToConfigFile参数时,有两种方式,第一种方式为绝对定位方式,即pathToConfigFile以"/"开头,此时Java以classpath为根目录,直接加上pathToConfigFile来搜索资源文件。第二种方式为相对定位方式,即pathToConfigFile不以"/"开头,此时资源文件的全路径应该为:调用getResourceAsStream方法的类的package路径加上pathToConfigFile。(在将package转为目录时将"."变成"/")

举个例子,在IntelliJ Idea中创建一个java工程,目录结构如下:

该工程里有两个resources文件夹,一个位于davenkin文件夹下,一个直接位于src文件夹下。第一个resources文件夹下有一个config.properties文件,其内容为:

name = ConfigUnderDavenkin

 第二个resources文件夹下也有一个config.properties文件,其内容为:

name = ConfigUnderSrc