三种处理流

三种处理流

标准输入输出流

  • System.in:标准的输入流,默认从键盘输入
  • System.out:标准的输出流,默认从控制台输出

通过System类的setIn(InputStream is),setOut(PrintStream out)方法对默认设备进行改变。

  • public static void setIn(InputStream in)
  • public static void setOut(PrintStream out)

练习

从键盘输入字符串,要求将读取到的整行字符串转成大写输出。然后继续进行输入操作,直至当输入“e”或者“exit”时,退出程序。

思路:System.in ----> 转换流 ---->BufferedReader的readLine()方法

(readLine()方法的使用见如下网址)
https://www.cnblogs.com/CrabDumplings/p/13458405.html

三种处理流_第1张图片

代码实现

public static void main(String[] args) {
    BufferedReader br = null;
    try {
        InputStreamReader isr = new InputStreamReader(System.in);
        br = new BufferedReader(isr);
        while(true){
            System.out.println("请输入字符串:");
            String data = br.readLine();
            if(data.equalsIgnoreCase("e") || data.equalsIgnoreCase("exit")){
                System.out.println("程序结束");
                break;
            }

            String upperCase = data.toUpperCase();
            System.out.println(upperCase);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if(br != null)
                br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

三种处理流_第2张图片

打印流(了解)

实现将基本数据类型的数据格式转化为字符串输出

说明

PrintStream和PrintWriter

  • 提供了一系列重载的print()和println()方法,用于多种数据类型的输出
  • PrintStream和PrintWriter的输出不会抛出IOException异常
  • PrintStream和PrintWriter有自动flush功能
  • PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。
  • 在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter类

数据流

为了方便地操作Java语言的基本数据类型和String的数据,可以使用数据流。

数据流有两个类:(用于读取和写出基本数据类型、String类的数据)

  • DataInputStream 和 DataOutputStream
  • 在分别“套接”在 InputStream 和 OutputStream 子类的流上

DataInputStream 中的方法

  • boolean readBoolean()
  • byte readByte()
  • char readChar()
  • float readFloat()
  • double readDouble()
  • short readShort()
  • long readLong()
  • int readInt()
  • String readUTF()
  • void readFully(byte[] b)

DataOutputStream 中的方法

将上述的方法的read改为相应的write即可

你可能感兴趣的:(三种处理流)