从属性文件中读取值

xyz*_*xyz 2 java properties

我在Eclipse中创建了一个动态Web项目,并编写了一个简单的代码来从属性文件中读取.
这是我的代码

public class AutocompleteService {

public static void main (String args[])
{
  Properties properties = new Properties(); 
  properties.load(new FileInputStream("autocomplete.properties"));
  System.out.println("Test : " + properties.getProperty("test"));   
}  
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我找不到文件异常.

java.io.FileNotFoundException: autocomplete.properties (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)

我的包结构如下

-src
 - com.serive (package)
   - AutocompleteService.java
   - autocomplete.properties   
Run Code Online (Sandbox Code Playgroud)

双方AutocompleteService.javaautocomplete.properties都在同一个包即com.service.做我们需要别的从性能读取文件?

参考:http://www.exampledepot.com/egs/java.util/Props.html

〜Ajinkya.

epo*_*och 7

你必须从类路径加载它:ex

ClassLoader loader = Thread.currentThread().getContextClassLoader();
stream = loader.getResourceAsStream(fileName);
Run Code Online (Sandbox Code Playgroud)

当你有流时,你可以将它传递给properties.load()


Ale*_*ean 5

获取相对于您的班级的流:

AutocompleteService.class.getResourceAsStream("autocomplete.properties")
Run Code Online (Sandbox Code Playgroud)