将Java ByteArrayOutputStream放入不同的容器中

时间:2017-04-21 11:18:25

标签: java zip byte

可以将ByteArrayOutputStream存储到其他容器中,例如HashMap吗?

如果不是,我如何合并所有我的流,然后按条目将zip存档合并到1个文件中。

public class CFr { 

  private static HashMap<String, Object> fileEntries;

  public static void setFileEntries(String fileNameEntry, Object fileEntry) {
    CFr.fileEntries.put(fileNameEntry, fileEntry);
  }

}

public void addDocx(CDb cd) {
  CFr.setFileEntries((String)entryName, (ByteArrayOutputStream)bos);
}

我在setFileEntries行上获得了NullPointer。似乎不对,我只是假设它是可能的。

1 个答案:

答案 0 :(得分:2)

是的,它可以存储,但您需要为此目的初始化 private static HashMap<String, Object> fileEntries; 。在你的情况下这

private static HashMap<String, Object> fileEntries = new HashMap<String, Object>();

永远不会被初始化。你需要做这样的事情:

$viewContentLoaded

代替。这将解决您当前的问题。