Java 在JDK7中使用Base64类

Java 在JDK7中使用Base64类,java,Java,我试图在JDK 7中使用Base64类,但我得到了错误: Base64无法解析 为什么eclipse会抛出这个错误 我使用的代码如下: byte[] imageData = Base64.getDecoder().decode(readFile(imagePart.getInputStream())); 甚至import语句也显示相同的错误:import java.util.Base64 这个类在JDK 7中不可用吗?来自: 自: 1.8 因此,不,它在JDK 7中不可用。Base64.get

我试图在JDK 7中使用
Base64
类,但我得到了错误:

Base64无法解析

为什么eclipse会抛出这个错误

我使用的代码如下:

byte[] imageData = Base64.getDecoder().decode(readFile(imagePart.getInputStream()));
甚至import语句也显示相同的错误:
import java.util.Base64

这个类在JDK 7中不可用吗?

来自:

自: 1.8

因此,不,它在JDK 7中不可用。

Base64.getDecoder().decode()
可从Java 1.8获得

尝试使用谷歌番石榴

pom.xml

<dependency>
   <artifactId>guava</artifactId>
   <groupId>com.google.guava</groupId>
   <type>jar</type>
   <version>14.0.1</version>
</dependency>

java 8或更高版本中提供了java.util.Base64

在Java7中,您可以使用


请参见此处的示例

如果需要在项目中专门使用JDK7,并且仍然需要使用java.util.Base64类,则可以在项目中包含来自OpenJDK的该类的代码

该类的来源可从以下网址获得:

Base64.java文件可在以下位置下载:

如前所述,java.util.Base64直到8点才可用


然而,我发现值得注意的是,Android开发人员可以在语言级别7(API 24)上访问Android.util.Base64,并且完全是自包含的,因此如果需要Base64并且不想使用第三方,您可以将其复制并放入您的项目中。只需查看权限和用法等。

效果很好,我只需下载字体代码,粘贴到自己的软件包中,导入propers库,就可以了!非常感谢这两个链接不起作用,我发现上面的源代码可能工作得很好,但文件的源代码是以GPLv2的形式分发的,Oracle的类路径例外,这意味着如果你想使用该选项,你必须将它完全隔离在一个模块中,与代码的其他部分完全分开。Android开发者注意:在Android API 8+中,你可以使用
Android.util.Base64
而不是
java.util.Base64
String inputContent = "Hello World";
String base64String = BaseEncoding.base64().encode(inputContent.getBytes("UTF-8"));
//decode
System.out.println("Base64:" + base64String);
byte[] contentInBytes = BaseEncoding.base64().decode(base64String);
System.out.println("Source content: " + new String(contentInBytes, "UTF-8"));//Hello World