我希望你们一切顺利。我最近一直在搞乱一些Java,试图从XML Link获取数据,并使用BufferedInputStream从中解析我需要的数据。我在Stack O.F上做了一些搜索 - 并想出了这个链接。 How to retrieve XML/RDF data from a dbpedia link or URL?
非常方便,我的很多代码都基于此。虽然有轻微问题,但我的程序正在捕捉错误。我不明白为什么,我希望你们能帮助我。
//import statements;
import java.io.*;
import java.util.Scanner;
import java.net.URL;
import java.net.HttpURLConnection;
import java.net.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String url = "http://http://battlecc5.evony.com/default.html?logfile/20171113/7d/42/7d42c3c3c89a7de4ec58c1ed0e66fbb1.xml";
try{
URL urlObj = new URL(url);
System.out.println("URL Reached");
try{
java.net.HttpURLConnection connection = (HttpURLConnection)urlObj.openConnection();
System.out.println("Connection Successful");
try{
InputStream reader = new BufferedInputStream(connection.getInputStream());
BufferedReader breader = new BufferedReader(new InputStreamReader(reader));
String line;
while((line = breader.readLine()) != null){
System.out.println(line);
}
connection.disconnect();
System.out.println("Closed");
}
catch(IOException e){System.out.println("Fail 1");}
}
catch(IOException e){System.out.println("Fail 2");}
}
catch(MalformedURLException e){System.out.println("Failed 3");}
System.out.println("Reached the End");
}
private boolean isDraftable(int modValue, int input){
boolean success = false; // Default value
int num = (int)(input/modValue);
if((num % 2) == 0){
//Is Even
success = true; // isDraftable(true)
}
else{
success = false; // !isDraftable(true)
}
return success;
}
private void HCDraft(int input){
int draftFive = input/20;
//System.out.println("HC Draft: %d", draftFive);
}
private void CDraft(int input){
int draftTen = input/10;
//System.out.println("Colony Draft: %d", draftTen);
}
}
它尚未完成,但一旦建立连接,它应该只是输出它的发现。之后,我将解析它并进行计算以及与之相关的东西(为此目的有3个私有函数。它们现在没有被使用。)
输入,反馈?我吠叫错了树吗?干杯
答案 0 :(得分:0)
是的..所以网址确实存在错误。很想知道为什么它不会在malformedURLException上失败。注意我使用在线编译器也很重要,因此我修复了命名错误(C编程习惯)。
程序有效..只是没有得到我需要它实际得到的东西。 (获取其他文件的实际链接必须在别处。他们有奇怪的习惯..)
感谢jsheeran指出了网址!