fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Ideone {
  6. public static String inspect(final String str) {
  7. StringBuilder result = new StringBuilder("\"");
  8. for (int i = 0; i < str.length(); i++) {
  9. final char ch = str.charAt(i);
  10. if (ch >= 128) result.append(String.format("\\u%04x", (int) ch));
  11. else if (ch == '"') result.append("\\\"");
  12. else if (ch >= 32) result.append(ch);
  13. else switch (ch) {
  14. case '\b': result.append("\\b"); break;
  15. case '\f': result.append("\\f"); break;
  16. case '\n': result.append("\\n"); break;
  17. case '\r': result.append("\\r"); break;
  18. case '\t': result.append("\\t"); break;
  19. default: final int iNext = i + 1;
  20. if (iNext == str.length())
  21. result.append(String.format("\\%o", (int) ch));
  22. else {
  23. final char nextCh = str.charAt(iNext);
  24. result.append(String.format((nextCh >= '0' && nextCh <= '9') ? "\\%03o" : "\\%o", (int) ch));
  25. }
  26. }
  27. }
  28. result.append("\"");
  29. return result.toString();
  30. }
  31.  
  32. public static String getRemainingScannerContents(final Scanner scanner) {
  33. scanner.useDelimiter("\\A");
  34. return scanner.hasNext() ? scanner.next() : "";
  35. }
  36.  
  37. public static void main (final String[] args) throws java.lang.Exception {
  38. Scanner scanner = new Scanner("test\ntest\n12345");
  39. System.out.println(inspect(getRemainingScannerContents(scanner)));
  40. }
  41. }
Success #stdin #stdout 0.06s 2184192KB
stdin
Standard input is empty
stdout
"test\ntest\n12345"