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中的作用,同时结合标签“arm”探讨与ARM开发相关的知识。 1. `arm.prop` 文件: 这个文件通常包含了针对ARM...
标题中的"global.prop.zip"是一个包含了该配置文件的压缩包,用于备份或分享这些个性化设置。 在Keil MDK中,`global.prop` 文件主要负责调整编辑器的颜色主题、字体大小、代码高亮等视觉元素,帮助开发者创建一个...
用来在dos下打开指定文件的属性窗口prop.exe
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://...
- **load(InputStream inStream)**: 此方法用于从`.properties`文件对应的输入流中加载属性列表。例如: ```java Properties pro = new Properties(); FileInputStream in = new FileInputStream("a.properties")...
在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...
在Java中,我们可以使用`java.util.Properties`类来读取和操作这些文件。以下是一个简单的示例,展示如何读取`.properties`文件: ```java import java.io.FileInputStream; import java.io.IOException; import ...
在Java中,我们使用`java.util.Properties`类来处理`properties`文件。以下是一个简单的`properties`文件读取的步骤和示例: 1. **创建properties文件** 创建一个名为`config.properties`的文件,内容如下: ``` ...
在Java中,我们可以使用`java.util.Properties`类来加载和操作这类文件。以下是一个简单的示例,展示如何读取`.properties`文件: ```java import java.io.FileInputStream; import java.io.IOException; import ...
而`global.prop`文件是KEIL IDE中的一个重要配置文件,它允许用户自定义项目属性,包括界面主题。 这个特定的`global.prop`文件描述的是一个VS(Visual Studio)风格的黑色主题。VS风格通常指的是借鉴了微软Visual ...
在Java编程中,Properties文件是用于存储配置信息的文本文件,通常以.key=value的形式存在。在实际开发中,我们经常需要读取和写入这些文件来管理应用的配置。然而,有时可能会遇到一些常见问题,比如系统找不到指定...
其中,属性文件(通常为.properties格式)是Java开发中常用的一种配置文件,用于存储程序的配置信息,如数据库连接、系统参数等。本篇将详细介绍如何在Java环境下读取webroot目录下的属性文件。 首先,确保属性文件...
Java的java.util.Properties类是专门用来处理.properties文件的。下面是一个简单的示例: ```java import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class ...
在JavaScript环境中,与Java或服务器端语言不同,我们通常无法直接读取.properties文件,因为浏览器安全限制禁止了这种跨域请求。然而,为了在前端实现国际化(i18n)功能,有时候我们需要在JavaScript文件中读取...
总结,Java中读取Properties文件是通过`java.util.Properties`类来实现的,涉及的关键步骤包括加载文件、获取键值对以及处理可能的异常。这种机制在许多场景下都非常实用,如数据库连接配置、应用设置等。理解并熟练...
在上面的例子中,我们使用FileInputStream将config.properties文件加载到Properties对象中。 加载src目录下的Properties文件 在Java应用程序中,我们经常需要加载src目录下的Properties文件。src目录是Java项目的...