• Day_14【IO流】扩展案例1_缓冲区字符输入、输出流,键盘录入,contains()方法的统一运用


    分析以下需求,并用代码实现

    •  实现一个验证码小程序,要求如下:
       	1. 在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行;
       	2. 键盘录入一个需要被校验的验证码
          	如果输入的验证码在data.txt中存在:在控制台提示验证成功,如果不存在控制台提示验证失败
      

    思路

    •  1.键盘录入三个验证码用字符串接收
       2.创建输出流对象关联data.txt
       3.将三个验证码写入data.txt当中, 关闭输出流
       4.键盘录入一个需要校验的验证码并用字符串接收
       5.创建输入流对象关联data.txt
       6.创建集合对象
       7.读取data.txt 将读取到的数据存储到集合中
       8.使用集合调用contains方法, 将需要校验的字符串传入
       9.根据返回的结果, 打印是否存在
      

    代码

    package com.itheima;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Test1 {
    	public static void main(String[] args) throws IOException {
    		// 创建键盘录入对象
    		Scanner sc = new Scanner(System.in);
    
    		// 键盘录入三个验证码用字符串接收
    		System.out.println("请输入第一个验证码:");
    		String s1 = sc.nextLine();
    		System.out.println("请输入第二个验证码:");
    		String s2 = sc.nextLine();
    		System.out.println("请输入第三个验证码:");
    		String s3 = sc.nextLine();
    
    		// 创建输出流对象关联data.txt
    		BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
    
    		// 将三个验证码写入data.txt当中, 关闭输出流
    		bw.write(s1);
    		bw.newLine();
    		bw.write(s2);
    		bw.newLine();
    		bw.write(s3);
    		bw.newLine();
    		bw.flush();
    
    		bw.close();
    
    		// 键盘录入一个需要校验的验证码并用字符串接收
    		System.out.println("请输入需要校验的验证码:");
    		String s4 = sc.nextLine();
    
    		// 创建集合对象
    		ArrayList<String> array = new ArrayList<String>();
    
    		// 读取data.txt 将读取到的数据存储到集合中
    		BufferedReader br = new BufferedReader(new FileReader("data.txt"));
    
    		String line;
    		while ((line = br.readLine()) != null) {
    			array.add(line);
    		}
    
    		// 释放资源
    		br.close();
    
    		// 使用集合调用contains方法, 将需要校验的字符串传入
    		if (array.contains(s4) != true) {
    			System.out.println("验证失败");
    		} else {
    			System.out.println("验证成功");
    		}
    	}
    
    }
    

    控制台输出内容
    console

  • 相关阅读:
    20155209林虹宇 Exp6 信息搜集与漏洞扫描
    20155209 Exp5 MSF基础应用
    20155209林虹宇Exp4 恶意代码分析
    20155209 林虹宇 Exp3 免杀原理与实践
    20155209 林虹宇Exp2 后门原理与实践
    20155209林虹宇逆向及Bof基础实验报告
    补做课上实践题目
    2017-2018-2 20155203《网络对抗技术》Exp9 :Web安全基础
    2017-2018-2 20155203《网络对抗技术》 Exp8:Web基础
    2017-2018-2 20155203《网络对抗技术》 Exp7:网络欺诈防范
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772519.html
Copyright © 2020-2023  润新知