首页 > 其他分享 >IO流:转换流、打印流

IO流:转换流、打印流

时间:2024-08-31 21:24:21浏览次数:12  
标签:ps 转换 PrintStream 打印 System IO println new

转换流

解决不同编码时会出现乱码的问题。代码的编码方式和被读文件的编码方式不对应。

字符输入转换流InputStreamReader

IO流:转换流、打印流_字符输入

public class InputStreamReaderTest2 {
    public static void main(String[] args) {
        try {
            // 1. 得到文件的原始字节流(GBK的字节流形式)
            InputStream is = new FileInputStream("io-app2/src/a06.txt");
            // 2. 把原始的字节输入流转换成指定字符编码的字符输入流
            Reader isr = new InputStreamReader(is, "GBK");
            // 3. 把字符输入流包装成缓冲字符输入流
            BufferedReader br = new BufferedReader(isr);
            
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

字符输出转换流OutputStreamWrite

IO流:转换流、打印流_System_02

IO流:转换流、打印流_字符输入_03

打印流

PrintStream(字节输出流下的实现类)、PrintWrite(字符输出流下的实现类)

作用:可以更方便高效打印数据出去,实现打印什么出去就出去什么。

IO流:转换流、打印流_打印流_04

class PrintTest {
    public static void main(String[] args) {
        try {
            // 创建一个打印流
             //PrintStream ps = new PrintStream("io-app2/src/a08.txt", Charset.forName("GBK"));
            // PrintStream ps = new PrintStream("io-app2/src/a08.txt");
            PrintWriter ps =
                new PrintWriter(new FileOutputStream("io-app2/src/a08.txt", true));

            ps.println(97);
            ps.println('a');
            ps.println("我爱你中国abc");
            ps.println(true);
            ps.println(99.5);

            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

IO流:转换流、打印流_打印流_05

在打印上面这两个没有什么区别,可以随便用。

输出语句的重定向

当程序设置好,上线之后是没有控制台的,所以想要显示内容,需要重新定向,使用setOut方法。

public class PrintTest2 {
    public static void main(String[] args) {
        System.out.println("君兮若俦");
        System.out.println("苟在千里");

        try {
            PrintStream ps = new PrintStream(new FileOutputStream("io-app2/src/a09.txt"));
            // 把系统默认的打印流对象改成自己设置的打印流
            System.setOut(ps);

            System.out.println("强主攘年");
            System.out.println("忙心不已");

            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

标签:ps,转换,PrintStream,打印,System,IO,println,new
From: https://blog.51cto.com/u_16382144/11884102

相关文章

  • Stable Diffusion 小白的入坑铺垫
    小白的StableDiffusion入坑铺垫本文主要讲述一些StableDiffusion入坑前需要了解的一些相关概念,不会涉及很高深的理论知识,因为我也讲不明白。本文所讲的内容基本上小学生就能看懂。如果你完全没听说过StableDiffusion也没关系,只要你听说过AI绘画,并且对此有兴趣,就能跟着......
  • day10(IO进程)进程间的通信---共享内存
    目录1.特点2.步骤3.函数接口4.命令1.特点1)共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝。2)为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。进程就可以直接读......
  • IO 模型
    I/O基本概念I/O即数据的读取(接收)或写入(发送)操作通常用户进程中的一个完整I/O分为两个阶段用户进程空间<-->内核空间内核空间<-->设备空间(磁盘、网卡等)分类:内存I/O、网络I/O和磁盘I/O三种同步和异步:对于一个线程的请求调用来讲,同步和异步的区别在于是否要等这个请求出最......
  • spark的SparkSubmit类关于Configuration的资源文件加载
    在阅读 SparkSubmit 源代码时,重点关注 Configuration 的资源文件的加载情况,默认通过 newConfiguration() 构造方法创建时,只会加载 core-default.xml 和core-site.xml文件,但是 SparkSubmit 中打印 Configuration 时,发现还会加载 yarn-site.xml,SparkSubmit 代码中没有......
  • io重定向
    标准I/O流每个进程(包括命令)在运行时都有三个标准的I/O流:标准输入(StandardInput,stdin):默认从键盘获取输入。文件描述符为0标准输出(StandardOutput,stdout):默认输出到屏幕。文件描述符为1标准错误(StandardError,stderr):默认输出错误信息到屏幕。文件描述符为2索引对应文......
  • Goolge earth studio 进阶4——路径修改与平滑
    如果我们希望在大约中途时获得更多的城市鸟瞰视角。可以将相机拖动到这里并创建一个新的关键帧。camera_target_clip_7EarthStudio会自动平滑我们的路径,所以当我们通过这个关键帧时,不是一个生硬的角度,而是一个平滑的曲线。camera_target_clip_8路径上有贝塞尔控制......
  • MotionPlus 安装指南
    介绍MotionPlus是一款用于监控摄像头的视频信号,并检测运动的应用程序,是对原有Motion软件的升级版本。它支持多种设备,如网络摄像头、V4L2网络摄像头和视频采集卡等。MotionPlus提供多种功能,包括录制视频、保存图片、实时视频流观看、调用脚本、日志记录、以及运动检测等功能。安......
  • IO流:缓冲流
    字节缓冲流简介缓冲流是对原原始流进行包装,提高原始流读写数据的性能。提供8KB输入输出缓冲区。 用法publicclassBufferedInputStreamTest1{publicstaticvoidmain(String[]args){try{//1.定义一个字节缓冲输入流包裹原始的字节输入流......
  • Clion 使用
    1.使用CLion进行ROS开发安装基本的ROS环境ROS环境的安装请参考安装ROS。安装CLion下载CLionLinux的下载地址如下:CLion解压CLion将下载的CLion复制到/opt目录下(你可以解压到适合自己的文件夹,只要保证后续使用的路径一致即可),然后在这个目录下使用终端将其解压,命令如......
  • spark的SparkSubmit类关于Configuration的资源文件加载
    在阅读 SparkSubmit 源代码时,重点关注 Configuration 的资源文件的加载情况,默认通过 newConfiguration() 构造方法创建时,只会加载 core-default.xml 和core-site.xml文件,但是 SparkSubmit 中打印 Configuration 时,发现还会加载 yarn-site.xml,SparkSubmit 代码中没......