Java处理流之三:标准输入输出流

2021-06-10 06:02

阅读:674

标签:equals   puts   code   标准   void   title   NPU   tst   登陆   

处理流之三:标准输入输出流


System.in和System.out分别代表了系统标准的输入和输出设备

默认输入设备是键盘,输出设备是显示器

System.out的类型是PrintStream,其h是OutputStream的子类FileOutputStream的子类

练习:把控制台输入的内容写到指定的txt文件中,当接受到字符串exit,就结束程序的运行

package com.kangkang.IO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStreamReader;

public class system {
    public static void main(String[] args) throws Exception{
//        testSystemIn();
        testWrite();
    }

    public static void testSystemIn() throws Exception {
        //定义一个字节流,用来接收控制台输入的数据
        InputStreamReader is = new InputStreamReader(System.in);

        BufferedReader br = new BufferedReader(is);

        String str = "";
        while ((str = br.readLine()) != null) {
            if (str == "exit") {
                break;
            }
            System.out.println(str);
        }

        br.close();
        is.close();

    }

    /**
     *把控制台输入的内容写到指定的txt文件中,当接受到字符串exit,就结束程序的运行
     */
    public static void testWrite() throws Exception{
        //创建一个接受键盘输入数据的输入流
        InputStreamReader is = new InputStreamReader(System.in,"UTF-8");

        // 把输入流放在缓冲流里
        BufferedReader ir = new BufferedReader(is);

        BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\jave\\untitled\\src\\com\\kangkang\\IO\\t5"));

        String line = "";
        while((line = ir.readLine()) != null) {
            if (line.equals("exit")){
                break;
            }
            //读取的每一行都写到指定的txt中
            bw.write(line);
        }
        bw.flush();
        bw.close();
        is.close();
    }
}

在一个txt文件中,写一组用户名和密码,通过控制台输入用户和密码与txt文件中的用户名密码作比较,如果一样就打印登录成功,如果不一致就打印用户名密码错误

package com.kangkang.IO;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;

public class systemTest {
    public static void main(String[] args) throws Exception{
        /*
        在一个txt文件中,写一组用户名和密码,通过控制台输入用户和密码与
        txt文件中的用户名密码作比较,如果一样就打印登录成功,
        如果不一致就打印用户名密码错误
         */
        testUser();

    }
    public static void testUser() throws Exception{
        //从文件当中读取文件内容
        BufferedReader br = new BufferedReader(new FileReader("D:\\jave\\untitled\\src\\com\\kangkang\\IO\\User.txt"));
        String user, password;
        user = br.readLine();
        password = br.readLine();
        br.close();

        // 从控制台输入与文件内容进行比较
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String struser, strpassword;
        System.out.println("请输入用户名:");
        while ((struser = in.readLine()) != null) {
            System.out.println("请输入密码:");
            strpassword = in.readLine();
            if (struser.equals(user) && strpassword.equals(password)) {
                System.out.println("登陆成功,用户名:" + struser + " 密码:" + strpassword);
                break;
            } else {
                System.out.println("登陆失败,用户名:" + struser + " 密码:" + strpassword+"请重新登陆");
                System.out.println("请输入用户名:");
            }
        }
        in.close();


    }
}

Java处理流之三:标准输入输出流

标签:equals   puts   code   标准   void   title   NPU   tst   登陆   

原文地址:https://www.cnblogs.com/kangxihuang/p/14468928.html


评论


亲,登录后才可以留言!