public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); StringBuilder string = new StringBuilder(scanner.nextLine()); printSomething(string.reverse().toString()); System.out.println(outputStream.toString()); } Зачем в поток отправлять строку, а затем сбрасывать, если в него можно сразу подать уже развернутую строку. Метод сразу принимает развернутую строку и все проходит.