A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© _J2EE_LiXiZhen 中级黑马   /  2017-10-28 18:53  /  968 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[Java] 纯文本查看 复制代码
package cn.itcast.Test05;

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;

/**
 * 
 * 分析以下需求,并用代码实现 1.项目根目录下建立文件: user.txt,文件中存放用户名和登录密码,格式:用户名,密码,如:aaa,123; 2.
 * user.txt文件中初始存放的用户信息有如下: jack,123 rose,123 tom,123 3.要求完成如下功能:
 * 程序运行时:控制台提示用户输入注册的用户名和密码; 验证键盘录入的用户名跟user.txt中已注册的用户名是否重复: 是:控制台提示:用户名已存在
 * 否:将键盘录入的用户名及密码写入user.txt文件,并在控制台提示:注册成功;
 * 
 */

public class MainApp {
	public static void main(String[] args) throws IOException {
		// 创建键盘录入对象]
		Scanner sc = new Scanner(System.in);
		// 创建BufferedReader对象
		BufferedReader br = new BufferedReader(new FileReader("user.txt"));
		// 创建集合接收输入流内容和控制台输入内容
		ArrayList<String> list = new ArrayList<>();
		// 读取数据到集合
		String line;
		while ((line = br.readLine()) != null) {
			list.add(line);
		}
		// 关闭
		br.close();
		// 提示用户输入
		System.out.println("请输入账号:");
		String name = sc.next();
		System.out.println("请输入密码:");
		String psw = sc.next();

		//定义计数器
		int count = 0;
		// 循环遍历集合查找账号密码是否注册(用户名是否重复)
		for (int i = 0; i < list.size(); i++) {			
			String[] str = list.get(i).split(",");
			if (str[0].equals(name)) {
				System.out.println("用户名已存在");
				break;
			} else {
				count++;				
			}
			if(count == list.size()) {
				// 创建StringBuilder对象用来拼接字符串
				StringBuilder sb = new StringBuilder();
				sb.append(name).append(",").append(psw);
				// 接收拼接后的字符串
				String user = sb.toString();
				list.add(user);
				System.out.println("注册成功");
				break;
			}
		}

		// 创建BufferedWriter对象
		BufferedWriter bw = new BufferedWriter(new FileWriter("user.txt"));
		// 循环写入文件
		for (int i = 0; i < list.size(); i++) {
			// 写入
			bw.write(list.get(i));
		    bw.newLine();
		}
		// 关闭
		bw.close();
	}
}

评分

参与人数 1技术分 +9 黑马币 +40 收起 理由
梦之翼 + 9 + 40

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马