Java IO流--打印流PrintStream和PrintWriter的使用详解

简介: Java IO流--打印流PrintStream和PrintWriter的使用详解

打印流:

PrintStream 和 PrintWriter

提供了一系列重载的print()和println()

PrintStream的具体使用,代码如下:

public class PrintStream_ {
    public static void main(String[] args) throws IOException {
        PrintStream printStream = System.out;
        //在默认情况下,PrintStream输出数据的位置是标准输出,即显示器
        /*
        public void print(String s) {
        if (s == null) {
            s = "null";
        }
        write(s);
        }
         */
        printStream.println("hello,world");
        //因为print底层使用的是write,所以我们可以直接调用write进行打印/输出
        printStream.write("hello,筱路".getBytes());
        printStream.close();
        //我们可以去修改打印流输出的位置/设备
        //1.输出修改成到"D:\\f1.txt"
        //2."hello,筱路" 就会输出到"D:\\f1.txt"
        //3.public static void setOut(PrintStream out) {
        //        checkIO();
        //        setOut0(out); //native 方法 底层调用c/c++ 修改了out
        //    }
        System.setOut(new PrintStream("D:\\f1.txt"));
        System.out.println("hello,筱路!");
    }
}

PrintWriter的具体使用,代码如下:

public class PrintWriter_ {
    public static void main(String[] args) throws IOException {
//        PrintWriter printWriter = new PrintWriter(System.out);
        PrintWriter printWriter = new PrintWriter(new FileWriter("D:\\f3.txt"));
        printWriter.print("北京你好~!");
        printWriter.close();//flush+关闭流,才会将数据写入到文件
    }
}
@Test
    public void test1(){
        PrintStream ps = null;
        try {
            FileOutputStream fos = new FileOutputStream(new File("D:\\Temp\\text.txt"));
            //创建打印输出流,设置为自动刷新模式(写入换行符或字节'\n'时都会刷新输出)
            ps = new PrintStream(fos, true);
            if (ps != null) {//把标准输出流(控制台输出)改成文件
                System.setOut(ps);
            }
            for (int i = 0; i <= 255; i++) {
                System.out.print((char) i);
                if (i % 50 == 0) { //每50个数据一行
                    System.out.println(); //换行
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (ps!=null) {
                ps.close();
            }
        }
    }

在硬盘中显示文件内容:

!"#$%&'()*+,-./012
3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd
efghijklmnopqrstuvwxyz{|}~€‚ƒ„
†‡ˆ‰Š‹ŒŽ‘’“”•–
—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ
ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùú
ûüýþÿ


目录
相关文章
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
82 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
Java 数据处理 开发者
揭秘Java IO流:字节流与字符流的神秘面纱!
揭秘Java IO流:字节流与字符流的神秘面纱!
38 1
|
2月前
|
自然语言处理 Java 数据处理
Java IO流全解析:字节流和字符流的区别与联系!
Java IO流全解析:字节流和字符流的区别与联系!
86 1
|
2月前
|
Java
Java 中 IO 流的分类详解
【10月更文挑战第10天】不同类型的 IO 流具有不同的特点和适用场景,我们可以根据具体的需求选择合适的流来进行数据的输入和输出操作。在实际应用中,还可以通过组合使用多种流来实现更复杂的功能。
51 0
|
2月前
|
存储 Java 程序员
【Java】文件IO
【Java】文件IO
38 0
|
7月前
|
存储 Java 数据安全/隐私保护
从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)
从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)
|
4月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
55 3
|
6月前
|
Java 数据处理 开发者
揭秘Java IO流:字节流与字符流的神秘面纱!
【6月更文挑战第26天】Java IO流涵盖字节流和字符流,字节流处理二进制数据,如图像,由InputStream/OutputStream家族管理;字符流处理文本,基于Reader/Writer,适于文本文件。在文件复制示例中,字节流用FileInputStream/FileOutputStream,字符流用FileReader/FileWriter。选择流类型取决于数据类型和处理需求,文本文件优选字符流,二进制数据则选字节流。
73 6
|
6月前
|
存储 自然语言处理 Java
Java IO流完全手册:字节流和字符流的常见应用场景分析!
【6月更文挑战第26天】Java IO流涵盖字节流和字符流,字节流用于二进制文件读写及网络通信,如图片和音频处理;字符流适用于文本文件操作,支持多语言编码,确保文本正确性。在处理数据时,根据内容类型选择合适的流至关重要。
79 0
|
6月前
|
自然语言处理 Java
Java IO流进阶教程:掌握字节流和字符流的高级用法!
【6月更文挑战第26天】Java IO流助你高效交换数据,包括字节流(InputStream/OutputStream)和字符流(Reader/Writer)的高级技巧。缓冲流(Buffered*)提升读写性能,对象流(Object*Stream)支持对象序列化。字符流的BufferedReader/BufferedWriter优化文本处理,注意字符集如UTF-8用于编码转换。掌握这些,优化IO操作,提升代码质量。
55 0