加载字典文本文件时获取FileNotFoundException

时间:2017-01-09 05:35:56

标签: java java-ee filenotfoundexception

Context:

我有一个webapp,我想在文本框中提供自动完成的功能。我在我的web应用程序项目的资源文件夹中保存了一个“dictionary.txt”文件(下面提到的proj结构)。

Web app structure
mywebapp
   |----src
         |----main
                |----java
                |----resources
                       |----dictionary.txt

问题: 我试图在部署应用程序时在我的一个控制器的构造函数中加载“dictionary.txt”文件。但是,我正在获取FileNotFoundException,尽管文件放在那里。请参考以下源代码:

@Controller    
MyCtrl {    

public String dictionaryFile="dictionary.txt";    

@Autowired
private MyAutocompleteDictTrie dictTrie;

public MyCtrl(){
   DictionaryLoader.loadDictionary(dictTrie,dictionaryFile);
}
  // remaining controller business code here
}

public class DictionaryLoader{
  public static void loadDictionary(MyAutocompleteDictTrie trie,fileName){
    BufferedReader br=null;
    try{
    br=new BufferedReader(new FileReader(fileName));//exception occurs here
      // remaining business logic here
    }
  }
}

我不知道如何解决这个问题。一种可能的方法是使用MyCtrl.class.getResourceAsStream(fileName) 但是我不确定这是否会在应用程序部署之前发挥作用。

0 个答案:

没有答案