【打印流】常用方法以及应用场景

news2025/1/17 3:08:42

打印流常用方法以及应用场景

1.打印流是什么?

可以实现更方便、更高效地写数据,分为字节打印流PrintStream和字符打印流PrintWriter,使用方便,性能高效,底层封装了高效流

  • 字节打印流PrintStream:继承OutputStream,因此支持写字节的相关方法
  • 字符打印流PrintWriter:继承Writer,因此支持写字符的相关方法

2.PrintStream常用方法

  • public PrintStream(OutputStream/File/String):建对象并关联文件

  • public void println(内容):打印任意类型数据

    注意:要将数据追加写入到文件,先要封装原始流对象,才可以追加写入

    public class Demo01 {
        public static void main(String[] args) throws Exception {
            //public PrintStream(OutputStream/File/String); 建对象并关联文件
            PrintStream ps = new PrintStream("day10\\Demo01.txt");
            //封装原始流对象,追加写入
            PrintStream ps1 = new PrintStream(new FileOutputStream("day10\\Demo01-1.txt",true));
            //public void println(内容); 写任意类型数据
            ps.println(100);
            ps.println(3.14);
            ps.println('哈');
            ps.println("郝佳乐");
            ps.println(true);
            //释放资源
            ps.close();
        }
    }
    

其他方法

  • public PrintStream (String fileName, Charset charset); 可以指定写出去的字符编码(写中文时)
  • public PrintStream (OutputStream out, boolean autoFlush); 可以指定实现自动刷新
  • public PrintStream (OutputStream out, boolean autoFlush, String encoding); 可以指定实现自动刷新,并可指定字符的编码(写中文时)
  • public void write(int/byte[]/byte[]一部分); 可以支持写字节数据出去

3.PrintWriter常用方法

  • public PrintWriter(OutputStream/Writer/File/String):创建对象并关联对象

  • public void println(内容):打印任意类型数据

    public class Demo02 {
        public static void main(String[] args) throws IOException {
            //public PrintWriter(OutputStream/Writer/File/String); 创建对象并关联文件
            PrintWriter pw = new PrintWriter("day10\\Demo02.txt");       
            //注意事项:封装原始流,才能通过构造开启追加写入
            //PrintWriter pw = new PrintWriter(new FileWriter("day10\\Demo02.txt",true));
            //public void println(内容); 写任意类型数据
            pw.println(100);
            pw.println(3.14);
            pw.println('哈');
            pw.println("郝佳乐");
            pw.println(true);
            //释放资源
            pw.close();
        }
    }
    

其他方法

  • public PrintWriter(String fileName, String encoding); 可以指定写出去的字符编码(写中文时)
  • public PrintWriter(OutputStream out/Writer, boolean autoFlush); 可以指定实现自动刷新
  • public PrintWriter(OutputStream out, boolean autoFlush, String encoding); 可以指定实现自动刷新,并可指定字符的编码(写中文时)
  • public void write(int/String/char[]/…); 可以支持写字符数据出去

4.打印流应用

输出语句的重定向(指定打印数据的目的地),前面的代码目的地是控制台,如果项目上线就看不到了,可以使用打印流,指定打印目的地,实现输出语句的重定向

  • public static final PrintStream out=null; out本质上是一个PrintStream,初始化值null表示将数据打印到控制台
  • System.setOut(new PrintStream(“路径”)) 借助System的setOut修改out的值为指定文件路径
public class Demo01 {
    public static void main(String[] args) throws Exception {
        //打印在控制台
        System.out.println("床前明月光");
        System.out.println("疑是地上霜");
        //输出语句重定向
        System.setOut(new PrintStream("day10\\Demo01.txt"));
        //打印在指定路径的文件中
        System.out.println("举头望明月");//在文件中显示
        System.out.println("低头思故乡");//在文件中显示
    }
}

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/926473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自己搭建Minecraft服务器并通过cpolar内网穿透实现与公网小伙伴联机我的世界

文章目录 1. Java环境搭建2.安装我的世界Minecraft服务3. 启动我的世界服务4.局域网测试连接我的世界服务器5. 安装cpolar内网穿透6. 创建隧道映射内网端口7. 测试公网远程联机8. 配置固定TCP端口地址8.1 保留一个固定tcp地址8.2 配置固定tcp地址 9. 使用固定公网地址远程联机 …

Python遥感图像处理应用篇037 GDAL+Scikit-image遥感图像主成分分析PCA

1.计算效果图 使用多波段遥感图像进行主成分分析,这里使用了6个波段的数据计算和显示效果图如下:左边是原图像IR+R+G显示图,右边是计算得到的3个主成分组合显示的RGB图像。 2.计算方法详解 使用GDAL库读取和保存遥感图像,使用numpy对图像数据进行相应的变换和计算,使用…

App Inventor 2 开发 ChatGPT 对话App

ChatGPT大家应该不会陌生,它的回答内容非常的专业及深入,具有实际的可指导性。我们通过App Inventor 2开发一个简单的对话App,先看效果: App Inventor 2 ChatGPT教育领域对话演示 代码块如下: 用到的核心组件“ChatBot…

人工智能浅浅的入门

目录 人工智能——让机器具备人的思维 一、人工智能三学派(主流方向——连接主义) 1.行为主义 2.符号主义 3.连接主义 二、连接主义的神经网络设计过程 1.举例:神经元 2.大致过程 三、人工智能的理解与涉及的重要点 1.个人观点 2.M…

牛客网Verilog刷题 | 入门特别版本

文章目录 1、 VL1 输出12、VL2 wire连线3、 VL3 多wire连接4、VL4 反相器5、VL5 与门6、VL6 NOR 门7、VL7 XOR 门8、VL8 逻辑运算10、VL10 逻辑运算211、VL11 多位信号12、VL12 信号顺序调整13、VL13 位运算与逻辑运算14、VL14 对信号按位操作15、VL15 信号级联合并16、VL16 信…

【redis问题】Caused by: io.netty.channel

遇到的问题: 在使用 RedisTemplate 连接 Redis 进行操作的时候,发生了如下报错: 测试代码为: 配置文件: 问题根源: redis没有添加端口映射解决方案: 删除原来的redis容器,添加新…

【附安装包】Flash2015安装教程|装机必备

软件下载 软件:Flash版本:2015语言:简体中文大小:897.8M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①百度网盘丨下载链接:https://pan.baidu.com/s…

【Linux】权限问题

Linux权限 一、Linux 权限的概念二、Linux 权限管理1. 文件访问者的分类2. 文件类型和访问权限(事物属性)3. 文件访问权限的相关设置方法 三、默认权限1. 对文件和目录进行操作需要的权限2. 文件和目录的默认权限3. 粘滞位 一、Linux 权限的概念 Linux …

Linux下的Shell基础——正则表达式入门(四)

前言: 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 在Linux 中,grep,sed,awk 等文本处理工具都支持…

馈纸式扫描仪:解放双手,告别繁琐

来百度APP畅享高清图片 扫描仪是OCR中获取高质量图片的重要设备,前面我们介绍了平板扫描仪,也略有提到馈纸式扫描仪,那么,什么样的扫描仪才是馈纸式的扫描仪?它长什么样呢? 馈纸式扫描仪(Automa…

Mybatis查询数据

上一篇我们介绍了在pom文件中引入mybatis依赖,配置了mybatis配置文件,通过读取配置文件创建了会话工厂,使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解,可以参考Mybatis引入与使用…

前端进阶之———浏览器调试巧技

有幸的参加了一次腾讯的面试,被面试官问到了JS能不能在浏览器上import依赖已经遇到一个错误函数应该怎么解决。之前的经验是做一些简单的html,css样式调试以及他的报错信息,忽略了浏览器js调试的强大功能。觉得还是非常有必要的,很…

通俗理解拉格朗日乘数法

再理解拉格朗日乘数法 笔记来源:Understanding Lagrange Multipliers Visually 本人相关博客: 1.方向导数和梯度向量 2.最小二乘和回归线、拉格朗日乘数、二元泰勒多项式、带约束变量的偏导数 函数: z f ( x , y ) zf(x,y) zf(x,y)&#x…

gitlab合并分支

我的分支为 cheng 第一步: 增加新的代码 第二步:提交并推送 第三步:打开gitlab,找到对应项目 这样就成功把cheng分支合并到dev-test分支了

短视频矩阵系统接口部署技术搭建

前言 短视频矩阵系统开发涉及到多个领域的技术,包括视频编解码技术、大数据处理技术、音视频传输技术、电子商务及支付技术等。因此,短视频矩阵系统开发人员需要具备扎实的计算机基础知识、出色的编程能力、熟练掌握多种开发工具和框架,并掌握…

擎创快讯|合作开启!云原生数智化2.0时代来临

近日,上海擎创信息技术有限公司(简称“擎创科技”)与北京华胜天成科技股份有限公司(简称“华胜天成”)达成战略合作伙伴关系。 擎创科技副总裁冯陈湧与华胜天成副总裁崔勇、助理总裁郭涛一致认为在金融、保险、证券、…

视频智能分析平台EasyCVR视频汇聚平台关于AI分析告警列表的定制详细介绍

安防监控视频集中存储/云存储EasyCVR视频汇聚平台基于云边端一体化架构,可支持多协议、多类型设备接入,视频监控综合管理平台具有强大的数据接入、处理及分发能力,能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、…

Visual Studio 2022的MFC框架——theApp全局对象

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Visual Studio 2022下开发工具的MFC框架知识。 MFC中的WinMain函数是如何与MFC程序中的各个类组织在一起的呢?MFC程序中的类是如何与WinMain函数关联起来的呢&#xff1f…

十大气传导耳机品牌排行榜,值得入手的气传导耳机推荐

​气传导耳机在运动、通勤或休闲时享受音乐,是个非常不错的选择。无束缚的佩戴舒适感和出色的音质体验受到更多人追捧。面对市面上如此多的气传导耳机,本文将为你推荐四款综合性能表现不错的气传导耳机,让你找到最适合自己的音乐伴侣&#xf…

微信小程序|步骤条

步骤条是现代用户界面设计中常见的元素之一,它能够引导用户按照预定顺序完成一系列任务或步骤。在小程序中,实现步骤条可以为用户提供更好的导航和引导,使用户体验更加流畅和直观。本文将介绍如何在小程序中实现步骤条,并逐步展示实现的过程和关键技巧 目录 步骤条的作用及…