java-io流(二)--控制台io

该博客详细介绍了如何使用Java的InputStream和OutputStream进行控制台的输入和输出操作。通过示例代码展示了如何读取用户输入并检测换行符,以及如何利用OutputStream将字符串输出到控制台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/zch19960629/article/details/77917739

System.out.println()输出:就是输出流完成的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

实例,用输出流和输入流完成控制台的输入和打印:

package com.example.io;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class ContollerIo {

    public static void main(String[] args) {

        InputStream inputStream = System.in;

//        第一种:
//        byte[] bytes = new byte[1024];
//
//        try {
//
//            StringBuffer stringBuffer = new StringBuffer();
//            int temp01;
//            System.out.println("请第1次输入内容 : ");
////            死循环
//            while ( ( temp01 = inputStream.read(bytes))!= -1){
//                char c = (char)temp01;
//                System.out.println("c=="+c);
//                //按块读的话,是读不出相对应的'\n'的字符编码的,只能得到空字符对应的-1值,退不出循环,而且控制台输入读是得不出为-1值的,没有空字符;
//                if (c == '\n') break;
//                String str = new String(bytes).trim();
//                stringBuffer.append(str);
//                System.out.println("2次输出的内容是 : " + stringBuffer);
//            }
//
//            inputStream.close();
//
//        }catch (IOException e){
//            e.printStackTrace();
//        }

//        二:
        StringBuffer stringBuffer = new StringBuffer();
        try{


            System.out.println("请第2次输入内容 : ");
            int temp = 0;
            while ((temp = inputStream.read()) != -1) {
                char c = (char)temp;
                System.out.println("c===="+c);
                if (c == '\n') break;
                stringBuffer.append(c);
            }
            System.out.println("2次输出的内容是 : " + stringBuffer);
            inputStream.close();

        }catch (IOException e){
            e.printStackTrace();
        }

//        输出:
        OutputStream outputStream = System.out;

        byte[] bytes = ("使用OutputStream输出流在控制台输出字符串: \n"+stringBuffer.toString()).getBytes();

        try{

            outputStream.write(bytes);
            outputStream.close();

        }catch (IOException e){
            e.printStackTrace();
        }


    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值