Java IO流 - 打印流详细使用介绍

这篇具有很好参考价值的文章主要介绍了Java IO流 - 打印流详细使用介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

打印流

java打印数据,JavaSE,java,算法,开发语言

打印流基本使用

打印流:

作用:打印流可以实现更方便、更高效的打印数据到文件中去。打印流一般是指:PrintStream,PrintWriter两个类。

可以实现打印什么数据就是什么数据,例如打印整数97写出去就是97,打印boolean的true,写出去就是true。

打印流PrintStream构造器如下:

构造器 说明
PrintStream(OutputStream os) 打印流直接通向字节输出流管道
PrintStream(File f) 打印流直接通向文件对象
PrintStream(String filepath) 打印流直接通向文件路径

示例代码

public static void main(String[] args) throws Exception {
    // 方式一: 打印流通向字节输出流管道
    PrintStream ps1 = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 方式二: 打印流通向文件对象
    PrintStream ps2 = new PrintStream(new File("/Users/chenyq/Documents/test.txt"));

    // 方式三: 打印流通向文件路径
    PrintStream ps3 = new PrintStream("/Users/chenyq/Documents/test.txt");
}

打印流PrintStream方法如下:

方法 说明
print(Xxx xx) 打印任意类型的数据出去(不换行)
println(Xxx xx) 打印任意类型的数据出去(换行)

演示代码

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 打印流方法
    ps.println(97);
    ps.println("aaa");
    ps.println(123);
    ps.println('我');
    ps.println(true);

    // 关闭流
    ps.close();
}

上面代码打印到文件中的内容如下:

java打印数据,JavaSE,java,算法,开发语言

打印流PrintWrite构造器如下

构造器 说明
PrintWriter(OutputStream os) 打印流直接通向字节输出流管道
PrintWriter (Writer w) 打印流直接通向字符输出流管道
PrintWriter (File f) 打印流直接通向文件对象
PrintWriter (String filepath) 打印流直接通向文件路径

打印流PrintStream方法:

方法 说明
print(Xxx xx) 打印任意类型的数据出去(换行)
println(Xxx xx) 打印任意类型的数据出去(不换行)

演示代码:

PrintWrite和PrintPrintStream在打印的使用上并无区别

public static void main(String[] args) throws Exception {
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 打印流方法
    pw.println(97);
    pw.println("aaa");
    pw.println(123);
    pw.println('我');
    pw.println(false);

    // 关闭流
    pw.close();
}

既然PrintStream和PrintWrite在打印上没有区别, 那这两个类的区别在哪里?

打印数据功能上是一模一样的,都是使用方便,性能高效(核心优势)

PrintStream继承自字节输出流OutputStream,支持写字节数据的方法。

PrintWriter继承自字符输出流Writer,支持写字符数据出去。

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // PrintStream写字节数据
    ps.write("我爱学习".getBytes());
}
public static void main(String[] args) throws Exception {
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // PrintWrite写字符数据
    pw.write("我爱学习");
}

但是我们一般使用打印流, 都是打印数据到文件中去;

使用打印流我们基本不会用来写数据, 因为写数据我们直接使用字符输出流和字节输出流更好

使用打印流的小细节, 我们可以发现, 打印流默认也是覆盖管道, 打印的数据会覆盖原数据

如果我们想要打印数据为追加数据, 我们要在低级管道中开启追加模式, 打印流的过早其中没有提供追加数据的构造器

public static void main(String[] args) throws Exception {
    // 在原始字符输出流开启追加模式
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt", true));
}

输出语句重定向

输出语句重定向(了解)

属于打印流的一种应用,可以把输出语句System.out.println();的打印位置改到文件当中。

例如: 在项目的开发阶段我们是在控制台打印调试的, 我们希望项目上线后将输出语句打印到文件当中文章来源地址https://www.toymoban.com/news/detail-782422.html

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream("/Users/chenyq/Documents/test.txt");

    // 改变输出语句的位置(重定向), 将输出语句输出到文件当中
    System.setOut(ps);
    System.out.println("aaa");
    System.out.println(97);
    System.out.println(123);
    System.out.println('我');
}

到了这里,关于Java IO流 - 打印流详细使用介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • [进阶]Java:打印流、Properties、common-io框架

    [进阶]Java:打印流、Properties、common-io框架

    作用:打印流可以实现方便、高效的打印数据到文件中去 。打印流一般是:PrintStream,PrintWriter两个类。 可以实现打印什么数据就是什么数据,例如打印整数97写出去就是97,打印boolean的true,写出去就是true。    代码演示如下:   PrintStream和PrintWriter的区别 打印数据功能上是

    2024年02月09日
    浏览(9)
  • JavaSE基础篇——超详细,Java入门,这一篇就够了

    JavaSE基础篇——超详细,Java入门,这一篇就够了

    一、java背景知识 1、 Java是 美国sun公司(Stanford University Network)在1995年推出的一门计算机 高级编程语言 。 2、Java早期被称为Oak(橡树),后期改名为Java。 3、Java之父:詹姆斯·高斯林(James Gosling) 4、2009年sun公司被Oracle(甲骨文)公司收购 二、为什么用Java 1、世界上最流

    2024年02月03日
    浏览(22)
  • Java反射使用的详细介绍

    Java反射使用的详细介绍

    反射概述 : 反射认为类的每一个成份都是一个对象, 对于任何一个Class类,在\\\"运行的时候\\\"都可以直接得到这个类全部成分。 在运行时,可以直接得到这个类的构造器对象: Constructor 在运行时,可以直接得到这个类的成员变量对象: Field 在运行时,可以直接得到这个类的成员方法

    2024年02月05日
    浏览(11)
  • 从零开始学习 Java:简单易懂的入门指南之IO序列化、打印流、压缩流(三十三)

    从零开始学习 Java:简单易懂的入门指南之IO序列化、打印流、压缩流(三十三)

    Java 提供了一种对象 序列化 的机制。用一个字节序列可以表示一个对象,该字节序列包含该 对象的数据 、 对象的类型 和 对象中存储的属性 等信息。字节序列写出到文件之后,相当于文件中 持久保存 了一个对象的信息。 反之,该字节序列还可以从文件中读取回来,重构对

    2024年02月08日
    浏览(41)
  • Java 中注解的详细介绍及使用

    Java 注解,也称为 Java Annotations,是一种元数据(Meta-data)标记语言,它在 Java 代码中添加了额外的信息和说明。注解可以用于类、方法、变量、参数、包等各种程序成分上,以达到不同的应用场景。 Java 注解是从 Java 5 开始引入的,在当时就被广泛认为是 Java 语言一个非常重

    2024年02月03日
    浏览(15)
  • 【JavaSE】Java方法的使用

    【JavaSE】Java方法的使用

    【本节目标】 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 4. 掌握递归 目录 1.方法概念及使用 1.1什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 2. 方法重载 2.1 为什么需要方法重载 2.2 方法重载概念 3. 递归 3.1 生活中的故事 3.2 递

    2024年02月12日
    浏览(15)
  • 【Java中的Thread线程的简单方法介绍和使用详细分析】

    【Java中的Thread线程的简单方法介绍和使用详细分析】

    提示:若对Thread没有基本的了解,可以先阅读以下文章,同时部分的方法已经在如下两篇文章中介绍过了,本文不再重复介绍!! 【Java中Tread和Runnable创建新的线程的使用方法】 【Java中的Thread线程的七种属性的使用和分析】 提示:以下是本篇文章正文内容,下面案例可供参

    2024年02月15日
    浏览(11)
  • JavaSE | 初始Java(九) | 包的使用

    JavaSE | 初始Java(九) | 包的使用

     包 包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式 ,比如:一个包中的类不想被其他包中的类使用。包还有一个重要的作用: 在同一个工程中允许存在相同名称的类,只要处在 不同的包中即可 。 可以 使用 import 语句导入包 如果需要使用

    2024年02月07日
    浏览(26)
  • 【JAVA】 javaSE中的数组|数组的概念&使用

    【JAVA】 javaSE中的数组|数组的概念&使用

    数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。在java中,包含6个整形类型元素的数组,可以看做是酒店中连续的6个房间. 1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,其实位置的编号为0,即数组的下标 

    2024年02月14日
    浏览(12)
  • 初识Java篇(JavaSE基础语法)(1)(数据类型+运算符)

    初识Java篇(JavaSE基础语法)(1)(数据类型+运算符)

     个人主页(找往期文章包括但不限于本期文章中不懂的知识点): 我要学编程(ಥ_ಥ)-CSDN博客 目录 前言:  初识Java  运行Java程序 注释 标识符 数据类型与变量  字面常量 数据类型 变量 类型转换  类型提升  字符串类型  运算符 算术运算符  关系运算符  逻辑运

    2024年03月24日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包