打印输出流PrintStream和PrintWriter(五)上

简介: 打印输出流,是做什么用的呢? 是方便将输出信息打印的流,在显示信息的时候,可以让其有格式地进行显示。 一般,打印输出流输出的对象是屏幕, 但也可以是输出流。 打印输出流,根据字节/字符的不同,又可以分为 字节打印输出流 PrintStream 和字符打印输出流 PrintWriter.

打印输出流,是做什么用的呢? 是方便将输出信息打印的流,在显示信息的时候,可以让其有格式地进行显示。 一般,打印输出流输出的对象是屏幕, 但也可以是输出流。 打印输出流,根据字节/字符的不同,又可以分为 字节打印输出流 PrintStream 和字符打印输出流 PrintWriter.


相比较以前讲得输出流, 主要区别是对输出信息进行格式化。


一. 字节打印输出流 PrintStream


一.一 方法


一.一.一 构造方法


一.一.一.一 方法


image.png


一.一.一.二 演示


 @Test
    public void conTest() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(file);
        //第二种方式  是否自动刷新
        PrintStream printStream1=new PrintStream(new FileOutputStream(file),true);
        //第三种,文件路径
        PrintStream printStream2=new PrintStream(path);
    }


一.一.二 普通方法


image.png


一般使用的是 printf() 进行相应的格式化。


格式样式有:


image.png


一.二 演示打印输出


一.二.一 基本打印和换行打印


    @Test
    public void print1Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(new FileOutputStream(file,true),true);
        //打印普通的
        printStream.print(65);
        printStream.print('A');
        printStream.print(23.4);
        printStream.print("你好啊");
        printStream.print(true);
        //write方式
        printStream.write("\r\n write方式写入进来".getBytes("UTF-8"));
        //append
        printStream.append("\r\n").append("append方式").append("写入进来");
        //换行打印
        printStream.println("");
        printStream.println("你好啊,我是两个蝴蝶飞");
        printStream.close();
    }


原先是没有 p1.txt 文件的,会自动创建该文件。


运行程序,查看p1.txt 文件的内容


20200617155709486.png


一.二.二 格式化打印信息


@Test
    public void print3Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(new FileOutputStream(file,true),true);
        printStream.println("有格式 printf 的打印");
        String name="两个蝴蝶飞";
        int age=25;
        //利用 printf 进行格式化打印
        printStream.printf("我是%s,我%d岁了",name,age);
        printStream.print("format打印:");
        //不能换行
        printStream.format("我是%s,我%d岁了",name,age);
        printStream.close();
    }


运行程序, 查看p1.txt 文件的新内容


20200617155714766.png


二. 字符打印输出流 PrintWriter


二.一 方法


二.一.一 构造方法


二.一.一.一 方法


image.png


二.一.一.二 演示


    @Test
    public void conTest() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(file);
        //第二种方式  是否自动刷新
        PrintWriter printWriter1=new PrintWriter(new FileOutputStream(file),true);
        //第三种
        PrintWriter printWriter2=new PrintWriter(
                new FileWriter(file),true);
        //第四种 文件路径
        PrintWriter printWriter3=new PrintWriter(path,"UTF-8");
    }


二.一.二 普通方法


image.png


二.二 演示 PrintWriter


二.二.一 基本打印和换行打印


  @Test
    public void print1Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(new FileOutputStream(file,true),true);
        //打印普通的
        printWriter.print(65);
        printWriter.print('A');
        printWriter.print(23.4);
        printWriter.print("你好啊");
        printWriter.print(true);
        //write方式
        printWriter.write("\r\n write 字符数组方式写入进来".toCharArray());
        //append
        printWriter.append("\r\n").append("append方式").append("写入进来");
        printWriter.write("\r\n write 字符串方式写入进来");
        printWriter.println("");
        printWriter.println("你好啊,我是两个蝴蝶飞");
        printWriter.close();
    }


原先是没有 p2.txt 文件的,会自动创建该文件。


运行程序,查看p2.txt 文件的内容


20200617155723415.png


二.二.二 格式化打印信息


 @Test
    public void print2Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(new FileOutputStream(file,true),true);
        printWriter.println("有格式 printf 的打印");
        String name="两个蝴蝶飞";
        int age=25;
        //利用 printf 进行格式化打印
        printWriter.printf("我是%s,我%d岁了",name,age);
        printWriter.println("format打印:");
        //不能换行
        printWriter.format("我是%s,我%d岁了",name,age);
        printWriter.close();
    }


运行程序,查看 p2.txt 的新内容


20200617155728359.png

相关文章
|
6月前
|
数据采集 存储 NoSQL
如何避免Python爬虫重复抓取相同页面?
如何避免Python爬虫重复抓取相同页面?
|
11月前
|
存储 机器学习/深度学习 数据可视化
数据集中存在大量的重复值,会对后续的数据分析和处理产生什么影响?
数据集中存在大量重复值可能会对后续的数据分析和处理产生多方面的负面影响
605 56
|
12月前
|
分布式计算 Java 数据处理
Apache Spark优缺点大揭秘
【10月更文挑战第12天】
440 11
|
12月前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
862 1
|
测试技术 计算机视觉 Python
Python PyAutoGUI是什么?
**PyAutoGUI库简介** PyAutoGUI是Python的一个库,用于自动化GUI任务,包括模拟鼠标和键盘操作。它可以用来做屏幕截图、自动填写表单、自动化测试等。安装库使用`pip install pyautogui`。基本操作涉及导入库、获取屏幕尺寸、控制鼠标(如获取位置、移动、点击和滚动)以及键盘操作(如输入文本和模拟快捷键)。此外,还有等待功能,如延迟执行和根据屏幕图像定位。PyAutoGUI还可用于识别屏幕颜色、查找图像位置和屏幕录制。它在各种场景下都非常有用,例如自动化日常任务或网页操作。
314 1
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
数据采集 机器学习/深度学习 算法
Python实现LightGBM分类模型(LGBMClassifier算法)项目实战
Python实现LightGBM分类模型(LGBMClassifier算法)项目实战
|
索引 Python
python类型错误(TypeError)
【5月更文挑战第1天】
1226 2
|
机器学习/深度学习 人工智能 算法
Meta 联合纽约大学和华盛顿大学提出MetaCLIP,带你揭开CLIP的高质量数据之谜
【5月更文挑战第16天】MetaCLIP是Meta、纽约大学和华盛顿大学合作提出的新预训练方法,旨在揭秘并复现CLIP模型的高质量数据收集。通过元数据筛选和平衡算法,MetaCLIP能从网络爬取的原始数据中选出优质图像-文本对,减少噪声并增强数据信号。实验显示,MetaCLIP在多个基准测试中超越CLIP,特别是在零样本ImageNet分类任务中取得显著提升。该方法的开源性质促进了社区研究,但面临训练速度慢和需针对特定数据优化的挑战。[[arxiv.org/abs/2309.16671](https://arxiv.org/abs/2309.16671)]
327 2