当前位置:首页 > Java

java如何获取汇率

2026-03-25 23:30:00Java

获取汇率的方法

使用Java获取汇率可以通过多种方式实现,包括调用公开的API、解析网页数据或使用第三方库。以下是几种常见的方法:

调用汇率API

许多金融数据提供商和网站提供免费的汇率API,例如ExchangeRate-API、Open Exchange Rates等。以下是使用ExchangeRate-API的示例代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ExchangeRateFetcher {
    public static void main(String[] args) {
        try {
            String apiKey = "YOUR_API_KEY";
            String fromCurrency = "USD";
            String toCurrency = "EUR";
            String urlStr = "https://v6.exchangerate-api.com/v6/" + apiKey + "/pair/" + fromCurrency + "/" + toCurrency;

            URL url = new URL(urlStr);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");

            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            System.out.println("Exchange rate: " + response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用第三方库

某些Java库简化了汇率数据的获取过程。例如,使用unirest-java库可以更简洁地调用API:

import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;

public class ExchangeRateUnirest {
    public static void main(String[] args) {
        try {
            String apiKey = "YOUR_API_KEY";
            String response = Unirest.get("https://v6.exchangerate-api.com/v6/" + apiKey + "/pair/USD/EUR")
                    .asString()
                    .getBody();
            System.out.println("Exchange rate: " + response);
        } catch (UnirestException e) {
            e.printStackTrace();
        }
    }
}

解析网页数据

如果API不可用,可以通过解析网页内容获取汇率。例如,使用jsoup库解析网页:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class WebScraper {
    public static void main(String[] args) {
        try {
            Document doc = Jsoup.connect("https://www.x-rates.com/calculator/?from=USD&to=EUR&amount=1").get();
            Element rateElement = doc.select(".ccOutputRslt").first();
            String rate = rateElement.text().split(" ")[0];
            System.out.println("Exchange rate: " + rate);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用Java内置功能

对于简单的需求,可以通过Java内置的HttpClient(Java 11及以上版本)获取数据:

java如何获取汇率

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class ExchangeRateHttpClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.exchangerate-api.com/v4/latest/USD"))
                .build();

        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
                .thenApply(HttpResponse::body)
                .thenAccept(System.out::println)
                .join();
    }
}

注意事项

  • 使用API时需注册并获取API密钥。
  • 频繁请求可能导致API限制或收费。
  • 网页解析可能因网页结构变化而失效,需定期维护代码。
  • 处理网络请求时需考虑异常处理和超时设置。

标签: 汇率java
分享给朋友:

相关文章

如何配置java

如何配置java

安装Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK安装包。选择与系统架构匹配的版本(如Windows x64、macOS ARM等)。运行安装程…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何创建项目

java如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…

vue实现汇率转换

vue实现汇率转换

实现汇率转换功能 在Vue中实现汇率转换功能,可以按照以下步骤进行开发: 安装依赖 需要安装axios用于获取汇率API数据 npm install axios 创建Vue组件 <temp…

react如何与java配合

react如何与java配合

React 与 Java 配合的常见方式 React 作为前端框架,通常与 Java 后端通过 RESTful API 或 GraphQL 进行交互。以下是几种常见的配合方式: RESTful AP…