1

谁能向我解释上课的目的和setURLStreamHandlerFactory工作URL

我有一个简单的代码片段,可以使用 Java 中的类连接到我的 HDFS URL,我在 hadoop 权威指南中已经完成了。

这是我写的代码:

public class HadoopFileSystemConnect {

    static {
        URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
    }

    public static void main(String[] args) throws IOException {
        URL url = new URL("hdfs://localhost:9000/employee_data.txt");
        InputStream in = url.openStream();
        IOUtils.copyBytes(in, System.out,4096,false);
    }
}

谁能向我解释静态块中语句的目的和工作原理?

4

1 回答 1

2

当您调用 URL.openStream() 时,Java 有一个默认类 (sun.net.www.protocol.http.Handler) 用于处理流。静态块中的方法用 Hadoop 替换了默认的 java 处理程序,仅此而已。

于 2013-09-17T10:59:13.390 回答