我正在尝试这个
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();
}
}
}
- 它工作正常但给出错误“找不到符号错误 Base64Encoder”
- 下载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/