我一直在寻找答案,但无法找到任何答案。今天早些时候,我问我如何通过字节数组将文件转换为字符串,然后再返回,以便稍后检索。
人们告诉我的是,我只需要存储字节数组,以避免令人讨厌的编码问题。所以现在我已经开始研究这个了,但现在我已经碰到了一堵墙。
基本上,我以前使用无缓冲的流,将文件转换为字节数组。这在理论上是行得通的,但是它占用了大量的内存,最终会造成堆大小异常。相反,我应该使用缓冲流代替(或者我被告知),而我现在遇到的问题是从BufferedInputStream转到byte []。我试图复制和使用本文档中找到的方法
http://docs.guava-libraries.googlecode.com/git/javadoc/index.html?com/google/common/io/package-summary.html
我在哪里交换缓冲流的无缓冲流。唯一的问题是,我无法直接将缓冲输出流转换为字节数组,因为我可以使用无缓冲流。
帮帮我? :)
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public final class BufferedByteStream {
private static final int BUF_SIZE = 1024000;
public static long copy(BufferedInputStream from, BufferedOutputStream to) th