0
在程序中,我使用以下步骤将美元兑换为美元,反之亦然。一般来说,这个程序适用于任何货币。历史美元兑欧元转换
public double getRate(String from, String to)
{
BufferedReader reader = null;
try
{
URL url = new URL("http://quote.yahoo.com/d/quotes.csv?f=l1&s=" + from + to + "=X");
reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line = reader.readLine();
if (line.length() > 0)
{
return Double.parseDouble(line);
}
}
catch (IOException | NumberFormatException e)
{
System.out.println(e.getMessage());
}
finally
{
if (reader != null)
{
try
{
reader.close();
}
catch(IOException e)
{
}
}
}
return 0;
}
我的问题是,我想为历史数据创建一个类似的方法。基本上,我需要具有以下签名的方法:
public double getRate(String from, String to, Date date) {
...
}
,我可以这样调用:
getRate("USD", "EUR", new SimpleDateFormat("yyyyMMdd").parse("20160104"))
获得在2016年1月4日或什么的$ 1欧元价值过去的日期。我在StackOverflow和其他类似网站上阅读了大量的线索,未找到解决方案。我需要一个使用免费服务的解决方案。
雅虎是否提供这种数据? – wvdz
这是一个关于如何使用Java编写代码或如何使用该网站获取历史转换率的问题? –
两者,但最重要的是第二个。我想要一种方法来从网络中检索这些信息。如果还有Java代码,它会更好,但我也可以自己实现它。 –