在java Project 中对文件的读取:
假设项目的目录结构如下所示:
pcqseaih
--src
--cn.ccb.pcis.bo
--fileName.xls
在java测试或运行时,如果要读取该文件,则可以使用以下方法来读取:
String path = "src/fileName.xls";
File file = new File(path);
InputStream is = new FileInputStream(file);
以上方法中的path如果写成: String path = "/src/fileName.xls";则读取文件出错,因为这样的写法,文件的路径就是在项目所在盘的一级路径下了,而不是相对于本身项目的相对路径.
但在将该项目打成jar包进行运行时,会发现以上的写法会导致文件找不到,打开jar包会发现src这个目录不存在了,但文件路径移到了一级目录下了.遇到这个情况可以使用以下方法来对文件进行读取:
InputStream is = Main.class.getClass().getResourceAsStream("/fileName.xls");
以上的这个方法就可以读取到文件了,因为这是使用了以类路径为基准,不跟项目的所在路径有关联了,
所以可以找到文件了:)