こんにちは、ハフマン エンコーディングを使用して圧縮されたファイルのデコードに取り組んでいます。EOF
解凍が完了したことを示すために文字を使用しています。EOF
文字をコーディングするたびに、 NullPointerException
. チェックを入れなくても問題なく動作しますが、EOF
キャラクターになってしまいます。どうやって を取得しているのかわかりませんNullPointerException
。助けていただける方に感謝します。ありがとうございました
public static void decompress(String in, String out)
{
try
{
String result = "";
BinaryNode<Character> pointer = huffTree;
ArrayList<Character> a = new ArrayList<Character>();
File outFile = new File(out);
FileOutputStream decompressedFile = new FileOutputStream(outFile);
for(char c : decodings.toString().toCharArray())
{
if(c == '0')
{
pointer = pointer.getLeft();
}
else if(c == '1')
{
pointer = pointer.getRight();
}
if(pointer.isLeaf())
{
if(pointer.getElement() == '^')
{
return;
}
decompressedFile.write(pointer.getElement());
pointer = huffTree;
}
}
decompressedFile.close();
}
catch(Exception e)
{
System.err.println("Error");
e.printStackTrace();
}
}