Я получаю сообщение об ошибке Stream Closed. Я пытаюсь написать дерево 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