Home > Software engineering >  Issues with FileReader and Java GUI/jForm
Issues with FileReader and Java GUI/jForm

Time:04-08

I am trying to make a smaller version of Pwned Passwords (https://haveibeenpwned.com/Passwords) for my Ap comp sci project. Everything is goo besides 2 things:


(Issue 1) (image of my code to show better) I have this below my jForm source code which declares each button/etc and what they do. I get this error though: "Illegal static declaration in inner class PassCheck.check. I do not now how to resolve this issue.


The second issue is using FileReader and Buffered Reader. I want the program to read the text inputted from the jForm and compare it to a file which has a list of commonly used passwords. How can I do this? Here is my code so far of just practicing with FR and BR:

    import java.io.*;

public class MainFileReader {

  public static void main(String[] args) throws Exception{
    
      String refpass, input;
      input = "1234";
      
      FileReader fr = new FileReader("C:\\Users\\tcoley\\Downloads\\207pass.txt");
      BufferedReader br = new BufferedReader(fr);

    while((input = br.readLine()) != null){
        refpass = br.readLine();
        

And I stopped here. I apologize as Java is not my strong suit but any help is much appreciated!

CodePudding user response:

You don't need to use BufferedReader. Buffering is only for inefficient reading and writing (ie doing multiple reads and writes)

Use Path and Files instead

Path p = "C:\\Users\\tcoley\\Downloads\\207pass.txt";
String file = new String(Files.loadAllBytes(p));

CodePudding user response:

What does the file look like? There are a lot of ways to format a file and for simplicities sake, this will just assume it's one word per line:

With the line

    refpass = br.readLine();

You are taking in the line from the file

    boolean isEqual = refpas.equals(input);

This allows you to assess the line individually. Remember that '==' is not the way to use String comparisons in Java.

    ("cat" == "cat") != ("cat".equals("cat"))
  • Related