问题: 在使用java程序连接hdfs时,将程序部署在linux下,linux系统中没有相应的环境变量和配置,导致无法正常连接到hdfs文件系统
解决方式:
将hdfs的配置文件放入java工程的resource中,
core-site.xml和hdfs-site.xml
通过读取resources中下的文件,可以直接将配置文件加载到主类中。
读取resources中的文件java代码:
InputStream filepath= Test.class.getClassLoader().getClass().getResourceAsStream("/hdfs-site.xml");
InputStream filepath1= Test.class.getClassLoader().getClass().getResourceAsStream("/core-site.xml");
注意,这里的参数一定要加"/",否则会报空指针异常,"/"相当于根目录下的文件,这是由于在编译了程序之后,会产生classes文件夹,resources下的文件就直接在classes的根目录下。
不具有适用性,而且不太方便,还有一种方式读取配置文件的方式
Test.class.getR