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();
        }
  • 相关阅读:
    在网页上下载文件
    sql server 分离附加
    在vue中,ref属性与$refs对象的区别
    在ES6中,export default 和 export的区别
    element-ui之Table表格el-table标签
    element-ui之Form表单el-form标签
    使用Mybatis-Generator自动生成Dao,Entity,Mapping
    linux下普通用户与root的切换
    idea插件将下划线转驼峰形式
    利用wsdl2java工具生成webservice的客户端代码
  • 原文地址:https://www.cnblogs.com/mindzone/p/12751475.html
Copyright © 2011-2022 走看看