大数据必学Java基础(七十二):System类对IO流的支持

举报
Lansonli 发表于 2022/10/11 07:59:33 2022/10/11
【摘要】 ​System类对IO流的支持一、System的属性System.in : “标准”输入流 -- 默认情况下从键盘输入System.out :“标准”输出流 -- 默认情况下,输出到控制台二、System.in“标准”输入流 -- 默认情况下从键盘输入public class Test01 { //这是一个main方法,是程序的入口: public static void mai...

​System类对IO流的支持

一、System的属性

System.in : “标准”输入流 -- 默认情况下从键盘输入

System.out :“标准”输出流 -- 默认情况下,输出到控制台

二、System.in

“标准”输入流 -- 默认情况下从键盘输入

public class Test01 {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) throws IOException {
        //得到的是标准的输入流:--》从键盘输入:
        //InputStream in = System.in;
        //调用方法:
        //int n = in.read();//read方法等待键盘的录入,所以这个方法是一个阻塞方法。
        //System.out.println(n);

        //以前案例:从键盘录入一个int类型的数据:
        //从上面的代码证明,键盘录入实际上是:System.in
        //形象的理解:System.in管,这个管怼到键盘上去了,所以你从键盘录入的话,就从这个管到程序中了
        //Scanner的作用:扫描器:起扫描作用的,扫键盘的从这根管出来的数据
        /*Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        System.out.println(i);*/

        //既然Scanner是扫描的作用,不一定非得扫 System.in进来的东西,还可以扫描其他管的内容:
        Scanner sc = new Scanner(new FileInputStream(new File("d:\\Test.txt")));
        while(sc.hasNext()){
            System.out.println(sc.next());
        }

    }
}


三、System.out

返回的输出流 、 打印流(PrintStream)

package com.lanson.io04;

import java.io.PrintStream;

/**
 * @author : Lansonli
 */
public class Test02 {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        //写到控制台:
        PrintStream out = System.out;
        //调用方法:
        out.print("你好1");//直接在控制台写出,但是不换行
        out.print("你好2");
        out.print("你好3");
        out.print("你好4");

        out.println("我是中国人1");//直接在控制台写出,并且换行操作
        out.println("我是中国人2");
        out.println("我是中国人3");
        out.println("我是中国人4");

        System.out.println("你是");
        System.out.print("中国人");

    }
}


四、练习

键盘录入内容输出到文件中

1、解决思路

2、代码

package com.lanson.io04;

import java.io.*;

/**
 * @author : Lansonli
 */
public class Test03 {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) throws IOException {
        //1.先准备输入方向:
        //键盘录入:
        InputStream in = System.in;//属于字节流
        //字节流--》字符流:
        InputStreamReader isr = new InputStreamReader(in);
        //在isr外面再套一个缓冲流:
        BufferedReader br = new BufferedReader(isr);

        //2.再准备输出方向:
        //准备目标文件
        File f = new File("d:\\Demo1.txt");
        FileWriter fw = new FileWriter(f);
        BufferedWriter bw = new BufferedWriter(fw);

        //3.开始动作:
        String s = br.readLine();
        while(!s.equals("exit")){
            bw.write(s);
            bw.newLine();//文件中换行
            s = br.readLine();
        }

        //4.关闭流:
        bw.close();
        br.close();
    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。