zoukankan      html  css  js  c++  java
  • 【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();
        }
  • 相关阅读:
    高级特性(4)- 数据库编程
    UVA Jin Ge Jin Qu hao 12563
    UVA 116 Unidirectional TSP
    HDU 2224 The shortest path
    poj 2677 Tour
    【算法学习】双调欧几里得旅行商问题(动态规划)
    南洋理工大学 ACM 在线评测系统 矩形嵌套
    UVA The Tower of Babylon
    uva A Spy in the Metro(洛谷 P2583 地铁间谍)
    洛谷 P1095 守望者的逃离
  • 原文地址:https://www.cnblogs.com/mindzone/p/12751475.html
Copyright © 2011-2022 走看看