在Java中,可以使用java.util.Base64类来进行文件的Base64加密和解密。下面是对文件进行Base64加密和解密的示例代码:
java Copy code
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) throws IOException {
// 读取文件内容并进行Base64编码
String encodedString = encodeFileToBase64("path/to/file.txt");
System.out.println("Encoded string: " + encodedString);
// 将Base64编码的字符串解码并写入文件
decodeBase64ToFile(encodedString, "decoded_file.txt");
System.out.println("File decoded and saved.");
}
public static String encodeFileToBase64(String filePath) throws IOException {
byte[] fileContent = Files.readAllBytes(Paths.get(filePath));
return Base64.getEncoder().encodeToString(fileContent);
}
public static void decodeBase64ToFile(String base64String, String outputFilePath) throws IOException {
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
Path outputPath = Paths.get(outputFilePath);
Files.write(outputPath, decodedBytes);
}
}
上述示例代码中,encodeFileToBase64()方法用于将文件内容读取为字节数组,然后使用Base64.getEncoder().encodeToString()方法将字节数组进行Base64编码,并返回编码后的字符串。
decodeBase64ToFile()方法接收一个Base64编码的字符串,使用Base64.getDecoder().decode()方法将其解码为字节数组,然后使用Files.write()方法将字节数组写入指定的文件。
请注意替换示例代码中的"path/to/file.txt"为实际文件路径,并在编码后的字符串保存时指定合适的输出文件路径。