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

发布了60 篇原创文章 · 获赞 0 · 访问量 1379

猜你喜欢

转载自blog.csdn.net/CODEROOKIE_RUN/article/details/103797290