无法看到输出 import java.io.FileInputStream; 导入org.apache.commons.codec.binary.Base64; 公共类编码 { 公共静态字符串编码文件流(字符串文件路径)引发异常//文件路径ex:C:\Program Files\Cordys\Web\reports\I0001180.pdf { StringBuffer sb=新的StringBuffer(); 尝试 { FileInputStream fin=新的FileInputStream(filePath); //StringBuffer sb=新的StringBuffer(); int lineLength=72; byte[]buf=新字节[lineLength/4*3]; while(true) { int len=最终读数(buf); 如果(len
无法看到输出 import java.io.FileInputStream; 导入org.apache.commons.codec.binary.Base64; 公共类编码 { 公共静态字符串编码文件流(字符串文件路径)引发异常//文件路径ex:C:\Program Files\Cordys\Web\reports\I0001180.pdf { StringBuffer sb=新的StringBuffer(); 尝试 { FileInputStream fin=新的FileInputStream(filePath); //StringBuffer sb=新的StringBuffer(); int lineLength=72; byte[]buf=新字节[lineLength/4*3]; while(true) { int len=最终读数(buf); 如果(len,java,Java,import java.io.FileInputStream; import org.apache.commons.codec.binary.Base64; public class Encode { public static String encodeFileStream(String filePath) throws Exception //file path ex : C:\Program Files\Cordys\Web\reports\I0001180.pdf {
import java.io.FileInputStream;
import org.apache.commons.codec.binary.Base64;
public class Encode
{
public static String encodeFileStream(String filePath) throws Exception //file path ex : C:\Program Files\Cordys\Web\reports\I0001180.pdf
{
StringBuffer sb=new StringBuffer();
try
{
FileInputStream fin = new FileInputStream(filePath);
//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;
}
//new Base64().encode(byte);
//sb.append(Base64.encode(buf));
//sb.append(Base64.encodeBase64(buf));
Base64 b = new Base64();
sb.append(b.encode(buf));
//return sb.toString();
}
}
catch(Exception e)
{
return e.getMessage();
}
return sb.toString();
}
public static void main(String args[]) throws Exception
{
try
{
String s="";
s=encodeFileStream("E:/CSSDocument/Test.pdf");
}
catch(Exception e)
{
e.getMessage();
}
}
}
加
请清理您的代码:)您看不到任何输出的一个原因是您的程序没有写入任何输出。
main
方法调用encodeFileStream
读取和编码文件,将结果赋给字符串变量s
…然后退出而不输出它
添加System.out.println;
(或类似的内容)以输出编码的文件内容
其他要点:
- 你的代码乱七八糟。请修复空格和缩进
- 方法
名称不正确。它所做的是编码文件的内容…而不是“文件流”的内容encodeFileStream
- 您的缓冲区长度可能太小……而且PDF文件是二进制文件,因此“行长度”的概念毫无意义
- 将路径名硬连接到代码中…可能不是必需的
- 您的程序将不正确地编码文件的最后一个“缓冲区”(大多数情况下)。提示:
可以是len
和0
以外的值buf.length
s=encodeFileStream("E:/CSSDocument/Test.pdf");
System.out.println(s);