java - 如何在我的代码中使用 Base64.java 文件?

标签 java jakarta-ee base64 http-authentication

我正在尝试这个

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpBasicAuth {

public static void downloadFileWithAuth(String urlStr, String user, String pass, String outFilePath) {
    try {
        // URL url = new URL ("http://ip:port/download_url");
        URL url = new URL(urlStr);
        String authStr = user + ":" + pass;
        String authEncoded = Base64.encodeBytes(authStr.getBytes());

        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setDoOutput(true);
        connection.setRequestProperty("Authorization", "Basic " + authEncoded);

        File file = new File(outFilePath);
        InputStream in = (InputStream) connection.getInputStream();
        OutputStream out = new BufferedOutputStream(new FileOutputStream(file));
        for (int b; (b = in.read()) != -1;) {
            out.write(b);
        }
        out.close();
        in.close();
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}
}
  1. 它工作正常但给出错误“找不到符号错误 Base64Encoder”
  2. 下载Base64.java文件

现在我不知道如何在我的项目中使用这个文件来消除错误。 你能告诉我如何使用 Base64.java 文件来消除错误吗?

感谢期待。

最佳答案

您可以只使用 JDK 本身中存在的 Base64 编码/解码功能。 javax.xml.bind 包包含一个 DatatypeConverter 类,它提供打印/解析各种形式的方法,包括

static byte[] parseBase64Binary(String lexicalXSDBase64Binary)
static String printBase64Binary(byte[] val)

只需导入 javax.xml.bind.DatatypeConverter 并使用提供的方法。

关于java - 如何在我的代码中使用 Base64.java 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10945147/

相关文章:

java - Gradle 在 Eclipse 项目中找不到服务器运行时

java - 如何将JSP中的 "Drop-down"列表的数据存储到我们的MySql数据库中?

java - 如何在 Parcel 中使用 writeStringArray() 和 readStringArray()

java - Spring 将自定义 bean Autowiring 到它自己的类中

java - 如何解决 oracle 11g jdbc 7/14 jdk 1.7 中的读取调用减一?

hibernate - 如何将环境细节移到 EAR 之外

unicode - Base64 Unicode字符

delphi - ARC : is there a memory leak in TNetEncoding. 获取Base64Encoding?

image - JavaFX:在 .FXML 文件中嵌入编码图像

java - Nettys GlobalEventExecuter 是否利用当前线程?