У меня есть этот метод, который загружает файлы .csv из Yahoo Finance и сохраняет их локально. Доступ к нему осуществляется во время цикла, поэтому он загружает много файлов из списка. Однако иногда символ вводится неправильно, больше не существует или время соединения истекло. Как я могу изменить этот метод так, чтобы тайм-ауты соединения повторялись, и неправильные символы (то есть, URL-адрес не работал) просто пропускались без завершения программы?
public static void get_file(String symbol){
OutputStream outStream = null;
URLConnection uCon = null;
InputStream is = null;
String finance_url = "http://ichart.finance.yahoo.com/table.csv?s="+symbol;
String destination = "C:/"+symbol+"_table.csv";
try {
URL Url;
byte[] buf;
int ByteRead,ByteWritten=0;
Url= new URL(finance_url);
outStream = new BufferedOutputStream(new FileOutputStream(destination));
uCon = Url.openConnection();
is = uCon.getInputStream();
buf = new byte[size];
while ((ByteRead = is.read(buf)) != -1) {
outStream.write(buf, 0, ByteRead);
ByteWritten += ByteRead;
}
}catch (Exception e) {
System.out.println("Error while downloading "+symbol);
e.printStackTrace();
}finally {
try {
is.close();
outStream.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}