• 【Java】Input,Output,Stream I/O流 03 系统标准流 & 打印流


    Standard Input,Output Stream 标准输入输出流

    - System.in 系统标准输入流

    所属InputStream  Scanner(System.in);

    默认从键盘获取输入信息

    - System.out 系统标准输出流

    所属PrintStream,是OutputStream的子类,FilterOutputStream  System.out.println();

    默认从控制台输出信息

    - static void setInt(InputStream input) static void setOut(OutputStream output)   重新指定输入和输出的流

    使用Scanner实现程序

        static void inputPractice(){
            // 使用Scanner实现
            Scanner input = new Scanner(System.in);
            String text = "null";
            while( !(text.equals("e") || text.equals("exit")) ){
                System.out.println("请输入字符串");
                text = input.nextLine();
                System.out.println(text.toUpperCase());
            }
         input.close(); }

    用System.in实现

        static void inputPractice() throws Exception {
            // 使用System.in实现
            InputStreamReader inputStreamReader = new InputStreamReader(System.in);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            while( true ){
                System.out.println("请输入字符串");
                String text = bufferedReader.readLine();
                System.out.println(text.toUpperCase());
                if ("e".equalsIgnoreCase(text) || "exit".equalsIgnoreCase(text)){
                    System.out.println("程序结束");
                    break;
                }
            }
            bufferedReader.close();
        }

    打印流

    PrintStream PrintWriter

    - 各种print() 和 println()重载 用于多种数据类型的输出

    - PrintStream和PrintWriter 不抛异常,自带flush

    - PrintStream打印所有都是以平台默认字符编码转换字节

    写入字符非字节的情况使用PrintWriter

    - System.out 返回的是PrintStream的实例

    向指定文件输出数据

        static void printStream(String srcPath) throws Exception {
            OutputStream outputStream = new FileOutputStream( new File(srcPath) );
            PrintStream printStream = new PrintStream(outputStream,true);
            if ( printStream != null) System.setOut(printStream);
    
            for (int i = 0; i < 255; i++) {
                System.out.print((char)i + "\t");
                if ((i + 1) % 10 == 0) System.out.println();
            }
            printStream.close();
        }

    数据流

    DataInputStream

    DataOutputStream

    写入数据和读取数据

        static void printData() throws Exception {
            DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream(new File("sample.txt")));
    
            dataOutputStream.writeUTF("阿伟输了!!!");
            dataOutputStream.flush();
    
            dataOutputStream.writeInt(1001);
            dataOutputStream.flush();
    
            dataOutputStream.writeBoolean(true);
            dataOutputStream.flush();
    
            dataOutputStream.close();
        }
    
        static void readData() throws Exception {
            DataInputStream dataInputStream = new DataInputStream(new FileInputStream(new File("sample.txt")));
            // 读取数据顺序,要按写入顺序保持一致
            String str = dataInputStream.readUTF();
            int i = dataInputStream.readInt();
            boolean b = dataInputStream.readBoolean();
    
            System.out.println(str);
            System.out.println(i);
            System.out.println(b);
    
            dataInputStream.close();
        }
  • 相关阅读:
    C/C++ 公有函数无法返回私有的类对象解决方案
    C/C++ ShowWindow()
    Windows 隐藏控制台
    Windows 关闭win32 控制台
    Windows 开启win32 控制台
    CSS中可以和不可以继承的属性
    css3实现炫酷的文字效果_空心/立体/发光/彩色/浮雕/纹理等文字特效
    CSS position 属性_css中常用position定位属性介绍
    无间歇文字滚动_ 原生js实现新闻无间歇性上下滚动
    好看css搜索框样式_分享8款纯CSS搜索框
  • 原文地址:https://www.cnblogs.com/mindzone/p/12751475.html
Copyright © 2020-2023  润新知