在学习java的URL类操作hdfs文件系统的时候,遇到了一个问题Exception in thread "main" java.net.MalformedURLException: unknown protocol: hdfs.
未知的hdfs协议,出现这个问题是必然的。hdfs本来就是我们"自定义"的,所以我们应该告知程序一声。告知的方法就是在使用URL类之前添加这句代码
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());即下方代码中加注释的那句代码
-
public class UrlToHdfs {
-
/**
-
* 通过url方式读取hdfs中的文件内容
-
*/
-
static final String PATH ="hdfs://192.168.15.100:9000/test";
-
-
public static void main(String[] args) throws Exception {
-
-
// URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
-
URL url = new URL(PATH);
-
InputStream in = url.openStream();
-
IOUtils.copyBytes(in, System.out, 1024, true);
-
-
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29876573/viewspace-1813435/
,如需转载,请注明出处,否则将追究法律责任。