import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.*;
public class Base64Convert {
BASE64Decoder decoder = new BASE64Decoder();
public static String ioToBase64() throws IOException {
String fileName = "D:\\图片\\11.jpg"; //源文件
String strBase64 = null;
try {
InputStream in = new FileInputStream(fileName);
// in.available()返回文件的字节长度
byte[] bytes = new byte[in.available()];
// 将文件中的内容读入到数组中
in.read(bytes);
strBase64 = new BASE64Encoder().encode(bytes); //将字节流数组转换为字符串
System.out.println(strBase64);
in.close();
} catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return strBase64;
}
public static void base64ToIo(String strBase64) throws IOException {
String string = strBase64;
String fileName = "d:/gril2.gif"; //生成的新文件
try {
// 解码,然后将字节转换为文件
byte[] bytes = new BASE64Decoder().decodeBuffer(string); //将字符串转换为byte数组
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
byte[] buffer = new byte[1024];
FileOutputStream out = new FileOutputStream(fileName);
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
out.write(buffer, 0, byteread); //文件写操作
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args){
try {
String strBase64 = ioToBase64(); //将 io 转换为 base64编码
System.out.println(">>> "+strBase64);
base64ToIo(strBase64); //将 base64编码转换为 io 文件流,生成一幅新图片
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
这个例子展示了如何使用`BASE64Encoder`和`BASE64Decoder`对字符串进行编码和解码。需要注意的是,虽然这两个类在现代Java中已经不推荐使用,但在一些旧的或者依赖于JavaMail的项目中,可能仍然会遇到。 `sun`目录...
在这个例子中,`images`目录下的`image.jpg`文件被读取,编码为Base64字符串,然后这个字符串再解码回字节数组,并写入到新的文件`decoded_image.jpg`中。 现代Java版本推荐使用Java 8引入的`java.util.Base64`类,...
下面是一个读取文件并Base64编码的例子: ```java File file = new File("path_to_your_file"); try (InputStream in = new FileInputStream(file)) { byte[] fileBytes = new byte[(int) file.length()]; in....
这个例子中,我们定义了一个`Base64Example`类,其中包含两个静态方法:`encode()`用于编码,`decode()`用于解码。在`main()`方法中,我们展示了如何使用这两个方法。 在处理实际项目时,根据具体需求,你可能需要...
这个例子展示了如何使用`Base64.getEncoder()`和`Base64.getDecoder()`创建编码器和解码器对象,然后使用它们将字符串转换为BASE64格式,再将BASE64格式还原回原始字符串。这就是在实际编程中处理BASE64编码的基本...
在Java中,处理Base64编码和解码的库通常包含在特定的包中,比如Apache Commons Codec库。这个库提供了方便的API来执行Base64的编码和解码操作。 Apache Commons Codec是Apache软件基金会的一个开源项目,提供了一...
Base64Encoder.jar包是Java开发中用于进行Base64编码和解码的工具包,它可以帮助开发者在处理数据时,将二进制数据转换为可打印的ASCII字符串,反之亦然。在Java标准库中,虽然已经包含了`java.util.Base64`类来执行...
在这个例子中,我们首先获取了一个`Base64.Encoder`实例,然后用它来编码字节数组。`encodeToString()`方法会返回一个包含Base64编码的字符串。 如果你使用的是Apache Commons Codec库,引入依赖后,Base64编码可以...
在Java开发中,生成二维码和将二维码转换为Base64字符串是常见的需求,尤其是在与前端交互时。这个项目提供了一种方便的方式,通过Maven依赖来实现这些功能,并且包括了一个工具类,使得操作更加简单易用。接下来,...
在Java编程中,Base64是一种常见的数据编码方式,它将二进制数据转换为可打印的ASCII字符串,便于在网络上传输或者存储。在给定的"java_base64加密解密实例"中,我们将探讨如何使用Apache Commons库进行Base64的加密...
在这个例子中,`Base64.getEncoder().encode()`用于编码字符串,而`Base64.getDecoder().decode()`用于解码。 然而,如果你的`Base64.java`文件提供的是自定义实现,那么它可能包含了一些特定的优化或者功能扩展,...
在这个例子中,我们首先创建了一个字符串`text`,然后使用`Base64.getEncoder().encode()`将其编码为BASE64格式的字节数组。接着,我们通过`Base64.getDecoder().decode()`将编码后的字节数组解码回原始字符串。 ...
在这个例子中,我们使用`Base64.encodeBase64()`方法将字符串编码为Base64,然后用`Base64.decodeBase64()`方法解码回原始字符串。 另一种解决方案是使用Google的Guava库,它同样提供了Base64编码功能。Guava库在...
在这个特定的例子中,`sun.misc.BASE64Decoder.jar`是Java的一个非标准库,它包含了对Base64编码的支持。Base64是一种常见的二进制到文本的编码方式,用于将加密后的字节数组转换成ASCII字符串,便于在网络上传输。...
在这个例子中,`Bitmap`对象首先被压缩为`byte`数组,然后使用`Base64.encodeToString()`方法将字节数组编码为Base64字符串。 ### 二、Base64解码 解码过程则是将Base64字符串转换回原始的二进制数据,进而可以...
在Java中,`BASE64Encoder`和`BASE64Decoder`是两个核心类,分别用于对数据进行BASE64编码和解码。 `BASE64Encoder`类: 这个类在Java SDK中位于`javax.crypto`包下,主要负责将字节序列(byte array)转换为BASE...
在`javabase64-1.3.1__包 和使用实例`这个压缩包中,可能包含了这个库的源代码和一些示例程序,帮助开发者更好地理解和使用Java内置的Base64功能。通过查看这些源代码和实例,你可以深入理解Base64编码的工作原理,...
在Java开发中,Base64是一种常见的数据编码方式,它将任意二进制数据转换为可打印的ASCII字符,常用于在网络上传输或存储非文本数据。然而,在JDK 1.6版本中,标准库并没有内置对Base64编码和解码的直接支持,这给...
在这个例子中,`Base64.getDecoder()`创建了一个Base64解码器实例,然后`decode()`方法用于将Base64字符串解码为原始字节数组。 使用`java.util.Base64`类不仅更符合Java标准,还具有更好的跨平台兼容性和未来版本...
虽然这个例子展示了如何使用`sun.misc`包中的Base64工具,但考虑到其非公开API的性质以及可能的兼容性问题,建议使用`java.util.Base64`类来进行Base64操作,这样代码更加稳定且符合Java标准。例如: ```java ...