以下代码为我检索了一个URL内容并将其保存到文件中:
URI obj_uri = new URI(uri);
URLConnection connection = obj_uri.toURL().openConnection();
connection.connect();
byte[] buffer = new byte[1024];
String filename = "temp";
try (InputStream in = connection.getInputStream(); FileOutputStream writer = new FileOutputStream( new File(filename) )) {
int len;
while ( (len = in.read(buffer)) != -1) {
writer.write( buffer, 0, len );
}
}
return filename;
我的问题是,当此URI具有不同的符号时,例如“http://dbpedia.org/resource /Brasília”,无法检索内容。 DBpedia使用的URL编码是UTF-8,即使使用URLEncoder.encode( url, "UTF-8")
,我的代码也无效。但是我的代码不会生成错误或异常,生成的文件(“temp”)以没有信息的方式结束(除了“”和“”)。
因此,如果URI正确并且即使使用其符号也可以访问,为什么我无法检索其内容并将其保存到文件中?
感谢您的帮助!
答案 0 :(得分:1)