我正在尝试创建一个登录屏幕,该屏幕可以从文本文件中读取用户名和密码。我已经建立了注册页面,该页面通过执行以下命令将用户名和密码输出到文件:

try (BufferedWriter out = new BufferedWriter(fstream)) {
            try {
              out.write(username + " " + password);
              out.newLine();
              JOptionPane.showMessageDialog(null,"User Account '" + username + "'     Created");
            } catch (IOException ex) {
                Logger.getLogger(ServerMenu.class.getName()).log(Level.SEVERE, null, ex);
            }
       }


文本文件将如下所示:

user1 password1
user2 password2


我一直在阅读大量文档以尝试弄清楚这一点,但是阅读的次数越多,我就会感到困惑。我这样做的原因是,我可以继续读取和写入.dat文件以获取系统最终将保留的信息。

如果有人能以任何形式帮助我,那将是惊人的!

谢谢

C

最佳答案

快速简便的解决方案。每行都有评论,但如果您需要任何帮助或有任何疑问,请告知。

import java.io.*;
class FileRead
{
 public static boolean main(String lineToCompare)
  {
  try{
  // Open the file that is the first
  // command line parameter
  FileInputStream fstream = new FileInputStream("textfile.txt");

  // Get the object of DataInputStream
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));

  String strLine;
  //Read File Line By Line

  while ((strLine = br.readLine()) != null)   {
  //Compare the line with the line to compare (string)
  if(strLine.compareTo(lineToCompare) == 0)
      return true;
  }

  //Close the input stream
  in.close();
    }catch (Exception e){//Catch exception if any
     System.err.println("Error: " + e.getMessage());
  }

  return false;

  }
}

关于java - 在文本文档中搜索行-JAVA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10200909/

10-12 01:14