You don't need two while loops for populating your Deque; also your logic is flawed at this place:
character = inputFile.readChar();
while (!character.equals('\u0003')) {
if (character.equals('\u0008'))
deck.removeBack();
else
deck.addToBack(character);
}
As soon as you read a character which is not '\u0003', the control enters the second `while` and never moves out since you don't change `character` inside the loop.
Since you have your catch block outside your logic, an EOFException would cause the control to move out of your logic and never execute the part which follows.
Also, I hope you are reading a char which was written using writeChar; if not, use a Scanner for reading simple text files.