2014-11-23 96 views
0

我有一些方法从文件中读取一些数据(实际上,它是公交时间)。
如何在JAR中部署文件?

public void readData(String number) throws IOException{ 
    InputStream fis; 
    BufferedReader br; 
    String line; 
    fis = new FileInputStream("n" + number); 
    br = new BufferedReader(new InputStreamReader(fis, Charset.forName("UTF-8"))); 
    while ((line = br.readLine()) != null) { 
     list.add(new Time(line)); 
    } 
    br.close(); 
} 

而我有我的文件到需要的信息项目。
但是! (我正在编写Intellij IDEA,但在Eclipse中部署)
当我部署项目时,我的程序看不到这些文件。
我该怎么办?
正在考虑 fis = RaspFrame.class.getClassLoader().getResourceAsStream("n" + number); 对不对?

+1

那么当你尝试它会发生什么? :)如果你认为你有一个想法,请给它一个! – yts 2014-11-23 04:11:41

回答

0

“正想着:

fis = RaspFrame.class.getClassLoader().getResourceAsStream("n" + number); 

正确”

是的。这就是(粗略地说)在类路径中打开流保存在JAR文件中的资源的方式。 (您的现有代码实际上是从文件系统中读取文件,它大概是在您的IDE中工作,因为这些文件的副本保存在IDE项目目录中,并且IDE正在使项目目录是“当前目录“当你运行程序。)