java中如何得到控制台对象

我想用PrintWriter重构System.out输出,请问如何得到控制台对象代码:packageother;importjava.io.*;publicclassMy... 我想用PrintWriter重构System.out输出,请问如何得到控制台对象
代码:
package other;
import java.io.*;
public class Mysysout {

public static void main(String[] args) {
//Sysout.out.println("");
}

}
class Sysout{
//static PrintWriter out= new PrintWriter(在这里如何的到控制台的对象)
}
PrintWriter(OutputStream out)这个构造方法我知道,但是System.out是用PrintStream构建的,所以PrintWriter(System.out)相当于PrintWriter(new PrintStream out),这样效率会十分低下,因为PrintStream是线程同步的,我现在要测试一个大的代码块,里面有很多打印调试语句,我想用PrintWriter构造一个非线程同步的打印调试类,当代码块测试通过时,我只要把这个打印调试类中的方法设为空,即可取消打印调试,而不用一个一个地去删打印调试语句,这个可以实现吗?
展开
 我来答
书荒莫慌
推荐于2016-09-02 · TA获得超过2972个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:535万
展开全部
static PrintWriter out= new PrintWriter(System.out);
PrintWriter需要java.io.OutputStream对象,System.out是java.io.PrintStream对象,是java.io.OutputStream的子类,所以这样就可以了。

补充:你这情况只能说你要测试的代码块不规范了。因为调试信息什么的我们都是打log的,而不是直接输出到控制台,这本身就是一个很慢的过程。另外,控制台本来就是设定为PrintStream对象,他又不需要多快,想解决这个方法,想用最初的OutputStream来加快速度,从控制台方面着手估计没招。
礼貌小蜗牛
2010-07-13 · TA获得超过204个赞
知道答主
回答量:99
采纳率:0%
帮助的人:64.4万
展开全部
打酱油的
package com.lovo.t19_7_13;

public class Mytext {
static{
System.out.println("获得控制台输出对象");
}
}

class Text1{
public static Mytext create(){
return new Mytext();
}
}
class Text2{
Mytext dao=Text1.create();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吃完早饭就睡
2015-10-21 · TA获得超过374个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:50.4万
展开全部
Console console = System.console();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang_ly520
2010-07-13 · TA获得超过112个赞
知道答主
回答量:362
采纳率:0%
帮助的人:227万
展开全部
重构的目的是什么呢?
控制台,还少能用得到啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式