我有一个任务,我需要创建一个 .xlsx 并将其转换为 base64,此文件将作为附件在电子邮件网络服务中发送。将 .xlsx 转换为 base64 的代码如下:
import java.io.*;
import org.apache.commons.codec.binary.Base64;
public class Test {
public static void main(String [] args) {
String fileName = "C:/Users/kk.txt";
try {
byte[] buffer = new byte[1000];
FileInputStream inputStream =
new FileInputStream(fileName);
int total = 0;
int nRead = 0;
String reference=null;
while((nRead = inputStream.read(buffer)) != -1) {
String name=(new String(buffer));
byte[] encodedBytes = Base64.encodeBase64(name.getBytes());
System.out.println(new String(encodedBytes));
}
inputStream.close();
System.out.println("Read " + total + " bytes");
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" +
fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
// Or we could just do this:
// ex.printStackTrace();
}
}
}
但是当我使用 BPEL 将它作为邮件发送并且当我打开文件时它显示一般输入/输出错误。但是当我将它作为文本发送时它工作正常。我应该不将此代码用于 excel 还是我错了。我对 java 完全陌生。