任何时候努力都不会迟 2020-08-30 22:15 采纳率: 50%
浏览 110

程序输出java.io.PrintStream@3f3afe78是咋回事


import java.io.*;

public class Solution {
    public static TestString testString = new TestString();

    public static void main(String[] args) throws  IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String name = reader.readLine();

        FileOutputStream fox = new FileOutputStream(name);

        PrintStream consoleStream = System.out;
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        PrintStream stream = new PrintStream(outputStream);
        System.setOut(new PrintStream(fox));

        testString.printSomething();
        System.setOut(consoleStream);
        String r = stream.toString();
        System.out.println(r);

        fox.flush();
        fox.close();
        reader.close();

    }

    public static class TestString {
        public void printSomething() {
            System.out.println("这是用于测试的文本12345");
        }
    }
}


这是一个将printSomething()方法中的内容写入控制台输入的文件地址中,并在控制台显示输出的程序,写入没有问题,显示输出却显示的是 :java.io.PrintStream@3f3afe78;并非计划中的:这是用于测试的文本12345。

这个是为什么,要咋改正。

  • 写回答

2条回答

      报告相同问题?

      悬赏问题

      • ¥15 关于#AC正确率#的问题,如何解决?
      • ¥30 pyinstaller后不执行print且不能退出
      • ¥15 IncredBuild报错
      • ¥15 锂电池偏最小二乘法参数辩识
      • ¥15 session失效问题
      • ¥15 GMS地下水数值模拟无法打开
      • ¥15 树型结构的数据怎么匹配分支
      • ¥15 stm32F4用.引不出来结构体成员怎么解决
      • ¥30 Syntax Error: TypeError: this.getOptions is not a function的问题
      • ¥15 eclipse Android环境搭建