Java学习笔记之IO(十五):PrintStream打印流
来源:互联网 发布:马云淘宝初期如何推广 编辑:程序博客网 时间:2024/06/05 06:07
package com.io.g_sequence;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintStream;import org.junit.Test;/* * 打印流:PrintStrean,可以打印任意类型的数据,而且在打印数据之前都会将数据先转换成字符串再进行打印; * * 打印流作用: * 1、输出任何类型的数据到文件上; * 2、收集异常的日志信息; */class Person{String name;int age;public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "[name=" + name + ", age=" + age + "]";}}public class Demo5 {// 使用输入字节流写数据@Testpublic void test1() throws IOException{// 找到目标文件File file = new File("D:\\a.txt");// 建立数据输出通道FileOutputStream out = new FileOutputStream(file);// 输出数据:// 问题:为什么写入的数据是97,而打开记事本看到的却是 a ?// 因为数据97是以字节流的形式写入的,而记事本本身就具有解码的功能,所以打开记事本的时候会自动将97解码成a;out.write(97);// 由于记事本显示的数据都是以字符串的形式,所以如果想向文件中写入97,可以使用下面的方法:// 还可以直接使用 PrintStream 输出任意类型的数据;out.write("97".getBytes());// 关闭资源out.close();}// 使用打印流输出数据@Testpublic void test2() throws IOException{// 找到目标文件File file = new File("D:\\a.txt");// 创建一个打印流PrintStream print = new PrintStream(file);// 输出数据:可以打印任意类型的数据print.println(97);print.println('a');print.println("aa");print.println(3.14);print.println(true);char[] buf = {'a', 'b', 'c', 'd'};print.println(buf);Person person = new Person("张三", 22);print.println(person); // 打印对象就是调用对象的 toString() 方法;// 关闭资源print.close();}@Testpublic void test3() throws IOException{// 找到目标文件File file = new File("D:\\a.txt");// 建立打印流PrintStream print = new PrintStream(file);// 该输出语句也是使用了PrintStream打印流;从源码可以看出,out就是在System类中维护的一个PrintStream对象;// 默认情况下,标准的输出流就是向控制台输出数据的;但是也可以重置标准的输出流对象,指定输出的位置;System.out.println("Hello World");System.setOut(print); // 重置标准输出流,将数据输出到文件中;System.out.println("我在文件中。");}// 收集异常的日志信息@Testpublic void test4() throws IOException{// 找到目标文件File file = new File("D:\\2017-10-12.log");// 建立数据输出通道;(true:追加信息)FileOutputStream out = new FileOutputStream(file, true);// 建立打印流:此方法输出的信息是覆盖的//PrintStream print = new PrintStream(file);// 建立打印流:此方法输出的信息是追加的PrintStream print = new PrintStream(out);try{int i = 1/0;System.out.println(i);}catch(Exception e){//e.printStackTrace(); // 该方法是将异常信息输出到控制台上e.printStackTrace(print);// 通过打印流将异常信息输出到文件上print.println();}try{int[] arr = null;System.out.println(arr.length);}catch(Exception e){//e.printStackTrace(); // 该方法是将异常信息输出到控制台上e.printStackTrace(print);// 通过打印流将异常信息输出到文件上}}}
阅读全文
0 0
- Java学习笔记之IO(十五):PrintStream打印流
- IO学习(十五)PrintStream打印流
- Java IO--打印流PrintStream
- java语言编程IO流之PrintStream打印流1
- java语言编程IO流之PrintStream打印流2
- java语言编程IO流之PrintStream打印流3
- java io系列16之 PrintStream(打印输出流)详解
- Java-IO之PrintStream(打印输出流)
- java io系列16之 PrintStream(打印输出流)详解
- java io 打印流 PrintStream小示例
- JAVA学习笔记(三十四)- 字节打印流 PrintStream
- Java IO流 学习笔记(二)PrintStream
- JAVA——IO流 之 处理流之打印流:PrintStream与printWriter(3)
- Java 打印流PrintStream
- 黑马程序员--IO流之PrintStream:打印流
- IO流之打印流PrintStream和PrintWriter
- Java IO流->处理流->打印流:PrintStream&PrintWriter
- 【Java基础知识】IO流--标准输入输出流、打印流PrintStream
- 编码规范-Google-Java
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- web项目容器化笔记
- 【机器学习】基础术语
- Android O源码阅读之 DocumentsUI和Unknown source Apk安装
- Java学习笔记之IO(十五):PrintStream打印流
- 【面试】线程/线程池总结
- leetcode 48. Rotate Image
- 第七周 项目2
- (08)oracle新人笔记------数据的相关操作
- 安装包测试之快照工具Total Uninstall
- Java解析xml文件,获得相应的值
- ros入门之用catkin和rosmake创建和编译功能包
- python高阶函数:map(f,[list]),reduce(f,[list],可选初始值),