使用jdk自带的翻译类,实现翻译功能
时间: 2024-06-08 11:05:42 浏览: 220
可以使用 Java 的 `java.net.URL` 和 `java.net.URLConnection` 类来访问翻译 API 进行翻译。这里以百度翻译 API 为例进行说明。
首先需要在百度翻译开放平台上注册账号并创建应用,获取到 appid 和 secretkey。然后使用以下代码进行翻译:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Translator {
public static void main(String[] args) throws IOException {
String appid = "your_appid_here";
String secretkey = "your_secretkey_here";
String query = "hello world";
String from = "en";
String to = "zh";
String sign = MD5(appid + query + salt + secretkey);
String urlString = "http://api.fanyi.baidu.com/api/trans/vip/translate" +
"?q=" + URLEncoder.encode(query, StandardCharsets.UTF_8) +
"&from=" + from +
"&to=" + to +
"&appid=" + appid +
"&salt=" + salt +
"&sign=" + sign;
URL url = new URL(urlString);
URLConnection connection = url.openConnection();
connection.setRequestProperty("Accept-Charset", StandardCharsets.UTF_8.name());
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
String line;
StringBuilder responseBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
responseBuilder.append(line).append("\n");
}
reader.close();
String response = responseBuilder.toString();
System.out.println(response);
}
private static final String salt = "1234567890";
private static String MD5(String input) {
// TODO: Calculate MD5 hash of input
return input;
}
}
```
其中 `your_appid_here` 和 `your_secretkey_here` 需要替换成你在百度翻译开放平台上创建应用后获取到的 appid 和 secretkey。 `query` 是要翻译的文本, `from` 是源语言, `to` 是目标语言。以上代码会将 `query` 从 `from` 语言翻译为 `to` 语言并输出翻译结果。
注意:以上代码中的 `MD5` 方法需要实现对输入字符串进行 MD5 计算的逻辑。可以使用 Java 自带的 `java.security.MessageDigest` 类来计算 MD5。
阅读全文