java - 能找到符号变量Base64是什么原因?

标签 java

<分区>

package com.cordys.report;

import java.io.FileInputStream; 

public class Encode
{


public static String encodeFileStream(String filePath) //file path ex : C:\Program Files\Cordys\Web\reports\I0001180.pdf
{    


 try
 {


   FileInputStream fin = new FileInputStream("E:/CSS Document/Test.pdf");
   StringBuffer sb=new StringBuffer();
   int lineLength = 72;
   byte[] buf = new byte[lineLength/4*3];
   while (true)
   {
     int len = fin.read(buf);
     if (len <= 0)
    {
      break;
    }
    sb.append(Base64.encode(buf));
   } 
   return sb.toString();
 }
 catch(Exception e)
 {
   return e.getMessage();
 }

}


}

最佳答案

嗯,这意味着编译器不知道在哪里可以找到一个名为 Base64 的类。 (我怀疑它是一个变量。)步骤:

  • 您还没有导入它,所以编译器目前只在 java.lang 和 com.cordys.report 中查找
  • 您需要确保该类也在类路径中,以便编译器可以找到它。您希望在哪里找到 Base64 类?

您是否尝试使用 Apache Commons Codec图书馆?如果是这样,您需要导入 org.apache.commons.codec.binary.Base64 并确保相应的 jar 文件在您的类路径中。

(作为附带问题,我希望您的真实代码记录实际读取了多少字节,而不是无论如何都对整个缓冲区进行编码。您还应该在 finally block ,并采用更稳健的方法来处理异常。)

关于java - 能找到符号变量Base64是什么原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4779444/

相关文章:

Java正则表达式捕获特定字符串后的字符串

java - 如何为两个不同的 Spring-Boot 应用程序使用相同的 log4j.properties 文件进行日志记录?

java - 如何解决JTree中的显示问题?

java - 使用 Comparable 和 Comparator 比较泛型类型

java - Hibernate 5.2 和 Spring 4.3,非 JPA - javax.persistence.TransactionRequiredException : no transaction is in progress

java - 无法在我的应用程序中使用全局变量

java - linux 上的干净部署 - java.lang.ClassNotFoundException : javafx. fxml.FXMLLoader

java - 将值(value)存储为空头

java - 上传 CSV 文件并在数据网格中显示预览

java - 在 PHP 中使用 .NET、Java、JGSoft RegEx 风格