Core - 2

Существует ли возможность перенаправить потоки стандартного ввода/вывода?


Да, в Java есть возможность перенаправить потоки стандартного ввода/вывода (System.in и System.out) на другие источники/назначения данных. Для перенаправления потока стандартного ввода (System.in) вы можете использовать метод System.setIn(). Например, чтобы перенаправить ввод из файла "input.txt", вы можете сделать следующее: try { FileInputStream fis = new FileInputStream("input.txt"); System.setIn(fis); } catch (FileNotFoundException e) { e.printStackTrace(); } Для перенаправления потока стандартного вывода (System.out) вы можете использовать метод System.setOut(). Например, чтобы перенаправить вывод в файл "output.txt", вы можете сделать следующее: try { FileOutputStream fos = new FileOutputStream("output.txt"); PrintStream ps = new PrintStream(fos); System.setOut(ps); } catch (FileNotFoundException e) { e.printStackTrace(); } После вызова этих методов, все операции чтения из System.in и записи в System.out будут перенаправлены на указанные источники/назначения данных.


Копировать ссылку