JAVA——打印流
目录
一、printStream
1. 作用: 打印流可以实现更方便、更高效的打印数据出去
跟着黑马实现一下:printStream 的底层实现效率更高,println输什么就打印什么,效率高;write 可以写字节/字节数组出去
指定编码是 Charset.forName("指定字符集编码")
public static void main(String[] args) {
try (
PrintStream ps = new PrintStream("E:\\developcode\\javacode\\javabase\\src\\com\\IO\\printliu\\test1.txt");
){
ps.println('a');
ps.println(97);
ps.println("我出生在中国yyds");
ps.println(true);
ps.println(100.1);
byte[] buffer = {'a','b','c'};
ps.write(buffer);
ps.write('y');
} catch (Exception e) {
e.printStackTrace();
}
}
二、printWriter
看构造器,比printStream() 多了一个Writer,其他的差不多
public static void main(String[] args) {
try (
//PrintWriter ps = new PrintWriter("文件路径");
//如果要追加内容,printStream 是高级流,不可以后面直接加true,那么要变成低级流
PrintWriter ps = new PrintWriter(new FileOutputStream("文件路径",true));
){
ps.println('a');
ps.println(97);
ps.println("我出生在中国yyds");
ps.println(true);
ps.println(100.1);
ps.write('你');
} catch (Exception e) {
e.printStackTrace();
}
}
那么,看完了printStream和printWriter, 他们有什么区别勒?
1. 打印数据功能上一模一样,都是使用方便,性能高效
2. printStream 继承自字节输出流OutputStream,所以支持写出字节
3. printWriter 继承自字符输出流Writer,所以支持写出字符
三、打印流的应用——输出重定向
输出重定向指的是将原本应该输出到标准输出设备(如控制台或屏幕)的信息,改为输出到指定的文件或其他输出流中。这种机制在日志记录、错误信息捕获、数据持久化等场景中非常有用。
输出语句重定向的意义
- 日志记录:在应用程序运行时,将关键信息(如警告、错误日志)重定向到文件中,便于事后分析和调试。
- 错误信息捕获:当程序出现异常时,将错误信息重定向到特定文件,可以避免在控制台中丢失重要信息,并方便集中处理。
- 数据持久化:对于需要长期保存的数据,通过输出重定向可以方便地将其保存到文件中,实现数据的持久化存储。
public static void main(String[] args) {
System.out.println("君生我未生");
System.out.println("我生君已老");
try (
PrintStream ps = new PrintStream("文件地址");
){
//把系统默认的打印流对象改成自己设置的打印流
System.setOut(ps);
System.out.println("君生我未生");
System.out.println("我生君已老");
} catch (Exception e) {
e.printStackTrace();
}
}
这个就实现了打印到目标文件里面
System.setOut( );
方法确实 要求参数 是一个PrintStream
类型的对象。这是因为System.out
本身就是一个PrintStream
类型的静态字段,用于表示标准输出流(通常是控制台)。通过调用System.setOut(PrintStream out)
方法,你可以将这个标准输出流重定向到任何PrintStream
对象,这样原本应该输出到控制台的信息就会被发送到新的输出流中。
原文地址:https://blog.csdn.net/2301_79325939/article/details/142316087
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!