我所做的只是解压缩并上传一个zip文件,可以从网站下载到hdfs上。代码如下:
String src="http://corpus.byu.edu/wikitext-samples/text.zip";
String dst = "hdfs://cshadoop1/user/hxy162130/assignment1";
InputStream a = new URL(src).openStream();
System.out.println(a == null);
ZipInputStream in = new ZipInputStream(a);
System.out.println(in == null);
ZipEntry zE = in.getNextEntry();
System.out.println(zE == null);
如您所见,我使用openstream方法将url更改为inputstream,然后使用inputstream作为zipinputstream的参数,最后从zipinputstream获得一个条目。但问题是getnextentry方法返回一个空值,这意味着我的代码的输出是false,false,true。我就是找不到问题所在。
1条答案
按热度按时间vc9ivgsu1#
对的http请求http://corpus.byu.edu/wikitext-samples/text.zip 结果是
301 Moved Permanently
给予新的Location: https://corpus.byu.edu/wikitext-samples/text.zip
. 所以没有一个ZIP
使用此功能可获得的资源URL
.要遵循重定向,可以执行以下操作: