Day9---学习Java第三弹
2021/7/19 22:05:03
本文主要是介绍Day9---学习Java第三弹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java经典编程例题(二)
1、重定向输出流实现程序日志
System类中的out成员变量是Java的标准输出流,程序长用它来输出调试信息。out成员变量被定义为final类型的,无法直接重新复制,但是可以通过setOut()方法来设置新的输出流。
要求:创建redirect类,编写该类的main()主方法,在该方法中保存System类的out成员变量为临时变量,然后创建一个新的文件输出流,并把这个输出流设置为System类新的输出流。在程序关键位置输出调试信息,这些调试信息将通过新的输出流保存到日志文件中,最后恢复原有输出流并输出程序运行结束信息。
import java.io.FileNotFoundException; import java.io.PrintStream; public class redirect { public static void main(String[] args) { try { PrintStream out=System.out; //保存原输出流 PrintStream ps=new PrintStream("./log.txt"); //创建文件输出流 System.setOut(ps); //设置使用新的输出流 int age=18; System.out.println("年龄变量成功定义,初始值为18"); String sex="女"; System.out.println("性别变量成功定义,初始值为女"); //整合两个变量 String info="这是个"+sex+"孩子,应该有"+age+"岁了。"; System.out.println("整合两个变量为info字符串变量,其结果是:"+info); System.setOut(out); //恢复原有输出流 System.out.println("程序运行完毕,请查看日志文件。"); }catch(FileNotFoundException e) { e.printStackTrace(); } } }
输出到桌面的 log.txt中的内容为:
年龄定义,初始值18
性别定义,女
整合了两个变量这是一个女孩子年龄为18
对于输出结果的详解析:
1.PrintStream out=System.out;
创建一个打印流out,此流已打开并准备接受输出数据。
2.PrintStream ps = new PrintStream("C:\\...");
创建又一具有指定文件名的打印流ps(不带自动刷新)
3.System.setOut(ps); //若去掉此句,则内容都会在console面板中输出
重新分配“标准”输出流,重定向输出到ps对象中(即指定路径名文件中)
4.System.out.println("年龄定义,初始值18");
在已定向的输出路径中打印输出字符串内容
5.System.setOut(out);
重定向输出到out对象中(即屏幕上)
这篇关于Day9---学习Java第三弹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀