aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java')
-rw-r--r--src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java b/src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java
new file mode 100644
index 0000000..b7f82c0
--- /dev/null
+++ b/src/main/java/moe/nea/modernjava/launch/util/TextIoUtils.java
@@ -0,0 +1,22 @@
+package moe.nea.modernjava.launch.util;
+
+import java.io.FileDescriptor;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+
+public class TextIoUtils {
+ /**
+ * Flush out the standard IO, without closing it. Works even after {@link System#setOut(PrintStream)} or similar has been called
+ */
+ public static void flushStdIO() {
+ try {
+ // These streams should not be closed. We just want to flush them out
+ //noinspection resource
+ new FileOutputStream(FileDescriptor.out).flush();
+ //noinspection resource
+ new FileOutputStream(FileDescriptor.err).flush();
+ } catch (IOException ignored) {
+ }
+ }
+}