0
我收到流關閉錯誤。我正在嘗試將一個huffman樹寫入一個文本文件,但每次運行它時,都會彈出錯誤消息,指出該流已關閉。有任何想法嗎?流關閉錯誤Java
HuffmanTree Tree = new HuffmanTree();
HuffmanTree.HuffData[] freqTable = null;
BufferedReader in = null;
ObjectOutputStream out = null;
try{
in = new BufferedReader(new FileReader("oddysy.txt"));
freqTable = HuffmanTree.buildFreqTable(in);
Tree.buildTree(freqTable);
Tree.buildCodeTable();
Tree.printCode(new PrintStream(new FileOutputStream("freqTable.txt")));
Tree.encode(in, new ObjectOutputStream(new FileOutputStream("watsonStructure.txt")));
} finally {
if (in != null){
in.close();
}
if (out != null){
out.close();
}
}
}
java.io.IOException: Stream closed
at java.io.BufferedReader.ensureOpen(BufferedReader.java:122)
at java.io.BufferedReader.read(BufferedReader.java:179)
at HuffmanTree.encode(HuffmanTree.java:244)
at Huffman_Driver.main(Huffman_Driver.java:28)
對不起,還是有點困惑。所以我應該關閉流,然後重新初始化BufferedReader? @Erranda – waterboy21
一旦你用BufferedReader完成了閱讀,你就不能重複使用它。如果您需要再次讀取該文件,只需初始化一個不同的BufferedReader。但要確保你在某個時候關閉了讀者。 – Eranda