我正在使用反射在运行时执行方法。但是,当该方法不返回任何内容时,我想读取被调用方法打印的最后一行并将其存储在 String 变量中。有人可以帮我解决这个问题,因为我正在彻底解决。目前我正在使用 System.setOut 来做这件事。有没有更好的方法来做到这一点。下面是我目前正在使用的代码。
PrintStream originalOutStream = System.out;
System.setOut(new PrintStream(new FileOutputStream("D:/myFile.txt")));
smething(2);// a method which prints something
System.setOut(originalOutStream);
FileInputStream fr = new FileInputStream("D:/myFile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fr));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
.. Do the necessary processing
}