Java--打印流

基本介绍

在整个IO包中,打印流是输出信息做方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWriter)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等

代码说明

PrintStream 的使用

java 复制代码
import java.io.IOException;
import java.io.PrintStream;

/**
 *  演示 PrintStream(字节打印流)
 */
public class PrintStream_ {
    public static void main(String[] args) throws IOException {
        PrintStream out = System.out;
        // 在默认情况下,PrintStream 输出数据的位置是标准输出,即显示器
        /*
        public void print(String s) {
            if(s == null) {
                s = "null";
            }
            write(s);
        }
         */
        out.print("Hello John !");
        // 因为 print 底层使用的是 write,所以我们可以直接使用 write 来进行打印/输出
        out.write("你好,哈尔滨".getBytes());
        out.close();

        // 我们可以修改打印位置
        // 修改到 D:\hello.txt
        System.setOut(new PrintStream("D:\\hello.txt"));
        /*
                public static void setOut(PrintStream out) {
                    checkIO();
                    setOut0(out);  // native 方法,修改了 out 位置
                }
         */
        System.out.println("人生得意需尽欢");// 这句话会打印到上面的文件中,因为已经修改了打印位置
    }
}

PrintStream 的使用

java 复制代码
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class PrintWriter_ {
    public static void main(String[] args) throws IOException {
        // 默认打印显示器
        // PrintWriter printWriter = new PrintWriter(System.out);
        PrintWriter printWriter = new PrintWriter(new FileWriter("f2.txt"));
        printWriter.println("Hi,北京你好!");  // 打印到指定文件,如上衣语句的文件

        // 记得一定要 close()
        printWriter.close(); // flush + 关闭流
    }
}
相关推荐
kkeeper~4 小时前
0基础C语言积跬步之深入理解指针(5下)
c语言·开发语言
一直不明飞行4 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker4 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
盲敲代码的阿豪5 小时前
Python 入门基础教程(爬虫前置版)
开发语言·爬虫·python
你的保护色5 小时前
【无标题】
java·服务器·网络
basketball6165 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
互联科技报5 小时前
2026超融合选型:Top5品牌与市场格局解读
开发语言·perl
weixin199701080166 小时前
[特殊字符] 智能数据采集:数字化转型的“数据石油勘探队”(附Python实战源码)
开发语言·python
淘矿人6 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
想唱rap6 小时前
IO多路转接之poll
服务器·开发语言·数据库·c++