历史美元对欧元的转换

时间:2017-01-09 13:37:15

标签: java stockquotes

在程序中,我使用以下程序将EUR转换为DOLLAR,反之亦然。一般来说,这个程序适用于任何货币。

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/01/04或过去任何日期获得1欧元的价值。我在StackOverflow和其他类似网站上阅读了很多帖子,但没有找到解决方案。我需要使用免费服务的解决方案。

0 个答案:

没有答案