高效字符流和集合的综合使用

实现一个验证码小程序,要求如下:
	1. 在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行;
	2. 键盘录入一个需要被校验的验证码,如果输入的验证码在data.txt中存在:在控制台提示验证成功,如果不存在控制台提示验证失败。
public class Test01_04 {
	public static void main(String[] args) throws Exception {
		//键盘录入3个字符串并写入项目根路径下的data.txt文件中
		writeString2File();
		//验证码验证
		verifyCode();
	}
	/**
	* 验证码验证
	* @throws Exception 
	*/
	private static void verifyCode() throws Exception {
		//创建ArrayList集合,用于存储文件中的3个验证码
		ArrayList<String>list = new ArrayList<>();
		//创建高效字符缓冲输入流对象,并和data.txt文件关联
		BufferedReader br = new BufferedReader(new FileReader(new File("data.txt")));
		String line = null;
		//循环读取每一行
		while(null!=(line = br.readLine())) {
			//将读到的每一行信息存入到list集合中
			list.add(line);
		}
		//关闭流对象
		br.close();
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in);
		//提示用户输入验证码
		System.out.println("请输入一个验证码");
		String code = sc.nextLine();
		if(list.contains(code)) {
			System.out.println("验证成功");
		} else {
			System.out.println("验证失败");
		}
	}
	/**
	* 键盘录入3个字符串并写入项目根路径下的data.txt文件中
	* @throws Exception 
	*/
	private staticvoid writeString2File() throws Exception {
		//创建高效字符缓冲输出流对象并和data.txt文件关联
		BufferedWriter bw = new BufferedWriter(new FileWriter(new File("data.txt")));
		String line = null;
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in);
		for(inti = 0;i<3;i++) {
			System.out.println("请输入第"+(i+1)+"个字符串验证码");
			//读取用户键盘录入的一行验证码信息
			line = sc.nextLine();
			//将读取到的一行验证码写入到文件中
			bw.write(line);
			//写入换行符
			bw.newLine();
		}
		//关闭流对象
		bw.close();
	}
}
---------------------------------------------
转换输入流的使用
public class Test01_06 {
	public static void main(String[] args) throws IOException{
		// 创建字节输入流对象并关联文件
		FileInputStream fis = new FileInputStream("a.txt");
		// 创建转换输入流对象
		InputStreamReader isr = new InputStreamReader(fis,"gbk");
		// 定义字符数组存放读取的内容
		char[] buffer = newchar[1024];
		// 定义变量接收读取的字符个数
		intlen = -1;
		while((len = isr.read(buffer)) != -1) {
			System.out.print(new String(buffer,0,len));
		}
		// 关闭流
		isr.close();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好的期待,未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值