java简单的访问HDFS文件
InputStream in = null;
try{
byte[] bytes = new byte[1024];
in = new URL("这里写hdfs文件的路径").openStream();
while(in.read(bytes) > 0){
System.out.println(new String(bytes));
}
}finally{
IOUtils.closeStream(in);
}
运行程序后发现报java.net.MalformedURLException: unknown protocol: hdfs
这里注意的一点是URL本身是不支持hdfs协议的,必须在代码前加上
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory())
但是该方法在一个java虚拟机中只可以调用一次,否则报错误,错误信息为:
factory already defined