繁体   English   中英

Java bufferedreader读取

[英]Java bufferedreader reading

我正在尝试使用其他类型的登录系统。 我要制作它,以便它读取一个.txt文件,其中包含诸如此类的详细信息(格式为用户名-密码-布尔值):

guest51 password true
guest52 bus true
guest53 password123 true
guest54 123password false

但是,这是非常困难的地方。 然后,我想检查布尔值,如果它是“ true”,请跳过该帐户,如果不是,请使用它。 从那里开始,用帐户“完成”时,将其设置为“ true”。

我希望用法是这样的:

username = nextAvaialableAccount.getUsername();
password = nextAvailableAccount.getPassword();

对于此操作,我有一个非常基本的概念,但总的来说,我对如何实现布尔值部分感到困惑。 我不太在乎性能,我只是希望系统能够完美运行,因此我可以不断删除帐户并将其添加到.txt。 我对其他基本文件(例如.xml(guest51等))持开放态度,只是对如何实际“设计”系统来做这件事感到非常困惑。

编辑:我想做到这一点,所以我更改我正在使用的任何帐户的.txt中的布尔值。 最坏的情况到最坏的情况,我必须用Java来做到(我仍然不知道该怎么做)

再次编辑:或者我甚至可以用一种文件夹方法来执行此操作,如下所示:./user/accounts/test51/

在该目录中,我将创建details.txt,其中包含用户名,密码和布尔值。 我要创建的系统将用于20个帐户,没什么大不了的

这将从文本文件中读取示例数据,将用户名和密码放入两个字符串,并将布尔值放入boolean 除了将这些信息打印到屏幕上之外,它什么也没有做(根本没有写出文件-这是一个只读示例),但是希望它可以帮助您。

   import  java.io.File;
   import  java.io.IOException;
   import  org.apache.commons.io.FileUtils;
   import  org.apache.commons.io.LineIterator;
   import  org.apache.commons.lang.StringUtils;
/**
   <P>{@code java ReadInActiveAccountsFromFile C:\java_code\username_password_active.txt}</P>
 **/
public class ReadInActiveAccountsFromFile  {
   public static final void main(String[] rqdInputPathInStrArray)  {
      //Read command-line
         String sSrc = null;
         try  {
            sSrc = rqdInputPathInStrArray[0];
         }  catch(IndexOutOfBoundsException ibx)  {
            System.out.println("Missing one-and-only required parameter: The full path to Java source-code file.");
            return;
         }

      //Open input file
         File inputFile = new File(sSrc);
         LineIterator lineItr = null;
         try  {
            lineItr = FileUtils.lineIterator(inputFile);
         }  catch(IOException iox)  {
            System.out.println("Cannot open \"" + sSrc + "\". " + iox);
            return;
         }

      while(lineItr.hasNext())  {
         String line = lineItr.next();
         String[] userPassIsActive = line.split(" ");
         String username = userPassIsActive[0];
         String password = userPassIsActive[1];
         boolean isActive = Boolean.parseBoolean(userPassIsActive[2]);

         System.out.println("username=" + username + ", password=" + password + ", isActive=" + isActive + "");
      }
   }
}

输出:

[C:\java_code\]java ReadInActiveAccountsFromFile C:\java_code\username_password_active.txt
username=guest51, password=password, isActive=true
username=guest52, password=bus, isActive=true
username=guest53, password=password123, isActive=true
username=guest54, password=123password, isActive=false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM