`
miaoge
  • 浏览: 109339 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类

【Properties类】从控制台输入用户名和密码,与属性文件prop.txt中的数据进行验证登录

阅读更多
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;
import java.util.Properties;

/**
 * 从控制台输入用户名和密码,与属性文件prop.txt中的数据进行验证登录
 * @author 小苗
 *
 */
public class LoginProp {
	private String propFile;

	public LoginProp(String propFile) {
		this.propFile = propFile;
	}
	//从属性文件中进行用户名密码验证登录
	public Boolean checkProp(){
		try {
			//从控制台获得用户名和密码
			System.out.println("请输入用户名···");
			String username = new BufferedReader(
					new InputStreamReader(System.in)).readLine();
			System.out.println("请输入密码···");
			String password = new BufferedReader(
					new InputStreamReader(System.in)).readLine();
		    Properties prop = new Properties();
		    //加载属性文件
		    prop.load(new FileInputStream(propFile)); 
		    Enumeration em = prop.propertyNames();
		  //hasMoreElements()  测试此枚举是否包含更多的元素
		    while(em.hasMoreElements()){
		    	String key = em.nextElement().toString();  //获取键值
		    	if(key.equals(username) && prop.getProperty(key).equals(password)){
		    		return true;
		    	}
		    }
		} catch (IOException e) {
			e.printStackTrace();
		}
		return false;
	}
	
	public static void main(String[] args) {
		LoginProp lp = new LoginProp("E:\\peixun/prop.txt");
		if(lp.checkProp()){
			System.out.println("登录成功!");
		}else
			System.out.println("用户名或密码错误!");
	}
	
}

 

3.创建一个属性文件,往里面添加5条用户名对应密码的记录
 * (zhongbei=123,yangkai=234,sunxu=345,ghz=456,zhouwei=567),
 * 验证输入用户名是否存在,若存在继续验证密码是否正确。

 

下面这个是一个学生做的,做的很不错,我把验证用户名密码那稍微修改了点,让其返回一个Boolean值,解决了每次进行验证都打印一句话的问题。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;
import java.util.Scanner;

/**
 * @author zb
 * 3.创建一个属性文件,往里面添加5条用户名对应密码的记录
 * (zhongbei=123,yangkai=234,sunxu=345,ghz=456,zhouwei=567),
 * 验证输入用户名是否存在,若存在继续验证密码是否正确。
 */
public class PropertiesTest {
	
	private Boolean verification() throws IOException {
		Properties pro = new Properties();
		pro.setProperty("zhongbei","123");//往属性文件中加入键和值
		pro.setProperty("yangkai", "234");
		pro.setProperty("sunxu", "345");
		pro.setProperty("ghz", "456");
		pro.setProperty("zhouwei", "567");
		File f = new File("d:/pro.properties");
		FileOutputStream fos = new FileOutputStream(f);
		pro.store(fos, "This is myproperties");//保存属性文件
		fos.close();
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入需要验证的用户名...");
		if (scan.hasNext()) {
			String str = scan.next();
			FileInputStream fin = new FileInputStream(f);
			pro.load(fin);//加载属性文件
			Enumeration<String> e = (Enumeration<String>)pro.propertyNames();
			//获取属性文件中所有的key
			while (e.hasMoreElements()) {//遍历每一个key
				String key = e.nextElement();//得到每一个key
				if (key.equals(str)) {
					System.out.println("用户名存在,请输入密码");
					if (scan.hasNext()) {
						String s = scan.next();
						if (pro.getProperty(key).equals(s)) {
							System.out.println("登录成功!");
							return true;
						}else 
							return false;
					}
				} 
			}
			fin.close();
		}
		return false;
	}
	
	public static void main(String[] args) {
		try {
			PropertiesTest pt = new PropertiesTest();
			if(!pt.verification()){
				System.out.println("用户名或密码错误!");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

分享到:
评论

相关推荐

    arm.prop、global.prop、global.prop.def, 这三个文件直接复制粘贴到Keil的安装目录\UV4下

    本文将详细介绍标题中提到的`arm.prop`、`global.prop`、`global.prop.def`这三个文件以及它们在Keil中的作用,同时结合标签“arm”探讨与ARM开发相关的知识。 1. `arm.prop` 文件: 这个文件通常包含了针对ARM...

    global.prop.zip

    标题中的"global.prop.zip"是一个包含了该配置文件的压缩包,用于备份或分享这些个性化设置。 在Keil MDK中,`global.prop` 文件主要负责调整编辑器的颜色主题、字体大小、代码高亮等视觉元素,帮助开发者创建一个...

    用来在dos下打开指定文件的属性窗口prop.exe

    用来在dos下打开指定文件的属性窗口prop.exe

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    1. 相对类路径:如果你的Properties文件与Java源代码位于同一目录结构下,可以使用`getResourceAsStream()`方法,配合类路径来加载。例如: ```java InputStream in = getClass().getResourceAsStream("/config....

    读取属性文件连接数据库

    我们可以使用`java.util.Properties`类来加载和处理属性文件。以下是一个简单的示例: ```java import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql....

    基于属性文件的读取类

    在`db.properties`文件中,我们可能存储数据库连接的相关信息,例如URL、用户名和密码,这在开发数据库驱动的应用程序时非常有用。例如,一个典型的`db.properties`文件可能如下所示: ``` db.url=jdbc:mysql://...

    ResourceBundle与Properties读取maven中resources目录下的资源文件

    - **load(InputStream inStream)**: 此方法用于从`.properties`文件对应的输入流中加载属性列表。例如: ```java Properties pro = new Properties(); FileInputStream in = new FileInputStream("a.properties")...

    java读取属性文件

    在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...

    Java读取.properties文件

    在Java中,我们可以使用`java.util.Properties`类来读取和操作这些文件。以下是一个简单的示例,展示如何读取`.properties`文件: ```java import java.io.FileInputStream; import java.io.IOException; import ...

    properties文件的读取

    在Java中,我们使用`java.util.Properties`类来处理`properties`文件。以下是一个简单的`properties`文件读取的步骤和示例: 1. **创建properties文件** 创建一个名为`config.properties`的文件,内容如下: ``` ...

    读取.properties文件

    在Java中,我们可以使用`java.util.Properties`类来加载和操作这类文件。以下是一个简单的示例,展示如何读取`.properties`文件: ```java import java.io.FileInputStream; import java.io.IOException; import ...

    KEIL黑色主题、VS风格文件global.prop

    而`global.prop`文件是KEIL IDE中的一个重要配置文件,它允许用户自定义项目属性,包括界面主题。 这个特定的`global.prop`文件描述的是一个VS(Visual Studio)风格的黑色主题。VS风格通常指的是借鉴了微软Visual ...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    在Java编程中,Properties文件是用于存储配置信息的文本文件,通常以.key=value的形式存在。在实际开发中,我们经常需要读取和写入这些文件来管理应用的配置。然而,有时可能会遇到一些常见问题,比如系统找不到指定...

    读取webroot文件下的属性文件

    其中,属性文件(通常为.properties格式)是Java开发中常用的一种配置文件,用于存储程序的配置信息,如数据库连接、系统参数等。本篇将详细介绍如何在Java环境下读取webroot目录下的属性文件。 首先,确保属性文件...

    Java读取properties文件的三种方式

    Java的java.util.Properties类是专门用来处理.properties文件的。下面是一个简单的示例: ```java import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class ...

    在javascript文件中读取properties文件需要的插件jquery.i18n.properties-min-1.0.9.js

    在JavaScript环境中,与Java或服务器端语言不同,我们通常无法直接读取.properties文件,因为浏览器安全限制禁止了这种跨域请求。然而,为了在前端实现国际化(i18n)功能,有时候我们需要在JavaScript文件中读取...

    java 读取properties文件代码

    总结,Java中读取Properties文件是通过`java.util.Properties`类来实现的,涉及的关键步骤包括加载文件、获取键值对以及处理可能的异常。这种机制在许多场景下都非常实用,如数据库连接配置、应用设置等。理解并熟练...

    加载src目录下的properties配置文件.docx

    在上面的例子中,我们使用FileInputStream将config.properties文件加载到Properties对象中。 加载src目录下的Properties文件 在Java应用程序中,我们经常需要加载src目录下的Properties文件。src目录是Java项目的...

Global site tag (gtag.js) - Google Analytics