如何在Linux中提供路径以从Java文件中读取数据

时间:2013-09-26 03:45:42

标签: java linux

我有一个类似于下面的java类,它从属性文件中读取数据

java类和属性文件都是同一目录

FileInputStream fis = new FileInputStream("MyProp.properties");

然后完全编译成功并创建war文件。 我在服务器中部署了这个war文件,然后在windows中正常运行

我在Linux中的另一台服务器上部署了相同的war文件,然后它将异常作为

FileNotFoundException

1 个答案:

答案 0 :(得分:0)

如果文件在战争之外,我建议使用完全限定的路径,而不仅仅是相对路径。如果您需要在Windows和Unix-y环境中运行,请首先检测操作系统,如下所示:

System.getProperty("os.name");

然后相应地设置路径。

但是,如果文件在你的战争中,只需从类路径中读取它,如下所示:

getClass().getClassLoader().getResourceAsStream("MyProp.properties")

或:

getClass().getResourceAsStream("/MyProp.properties");

详情请见How to really read text file from classpath in Java