Я пытаюсь сделать программу входа/пароля, которая запрашивает у вас учетную запись, и вы также можете ее создать.
Под учетной записью я имею в виду, что программа даст вам случайное 8-значное число.
У меня также есть FileWriter, который создает файл на основе ID, который вы указали. И у меня есть FileReader, который в конечном итоге прочитает то, что вы ранее экспортировали в свой файл, чтобы вы могли его обновить.Как сравнить целое число и имя файла?
Проблема заключается в том, что когда я спрашиваю у пользователя, есть ли у них учетная запись, если они говорят «да», она будет запрашивать у пользователя свой идентификатор пользователя.
Мой план состоял в том, что при чтении вашего UserID он сканировал бы папку, в которой был сохранен мой .java-файл, и искать файл .txt с тем же именем, что и ваш UserID. Например, если вы создаете учетную запись и пользовательский идентификатор, который он дает вам, это 12345678, он создаст файл с именем 12345678, а затем, когда вы введете свой UserID, он будет сканировать, чтобы увидеть, существует ли этот файл.
В настоящее время проблема, которая возникает это она печатает
файл Ошибка Не найден (подвох Строка я написал)
, даже если у меня есть файл в папке.
Я думаю, что что-то не так с тем, как я сравниваю, чтобы узнать, совпадает ли UserID с любым именем файла.
Класс «Логин».
import java.awt.*;
import hsa.Console;
import java.util.Random;
import java.io.*;
import java.io.File;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.FileNotFoundException;
public class Login
{
static Console c;
static Login player1;
public static void main (String[] args)
{
player1 = new Login();
player1.FileReaderTest (25756326);
//player1.Userlogin(); //I think it has something to do with this
} // main method
public void Userlogin (File input)
{
c = new Console();
Random rand = new Random();
c.println ("Hello do you have an account?");
String Q1 = c.readLine();
Q1 = Q1.toUpperCase();
if (Q1.equals ("YES"))
{
c.println ("Please input your User ID");
int login = c.readInt();
if (String.valueOf(login).equals (input))//I think it has something to do with this
{
try
{
FileReader reader = new FileReader (input);
BufferedReader buf = new BufferedReader (reader);
String line1 = buf.readLine();
String line2 = buf.readLine();
buf.close();
c.println (line1);
c.println (line2);
}
catch (FileNotFoundException e)
{
c.println ("Error File Not Found");
}
catch (Exception e)
{
c.println ("ERROR");
}
}
}
else if (Q1.equals ("NO"))
{
c.println ("Please enter your name ");
String name = c.readLine();
int UserID = rand.nextInt (99999999);
c.println ("Your User ID is " + UserID);
player1.FileCreation (UserID);
player1.FileReaderTest (UserID);
}
while (!Q1.equals ("YES") && !Q1.equals ("NO")) //While Q1 != YES || NO
{
c.println ("Please Answer the question with Yes or No");
c.println ("Hello do you have an account?");
String Q2 = c.readLine();
Q2 = Q2.toUpperCase();
if (Q2.equals ("YES"))
{
c.println ("Ok lets start");
break;
}
else if (Q2.equals ("NO"))
{
c.println ("Please enter your name ");
String name = c.readLine();
int UserID = rand.nextInt (89999999) + 10000000;
c.println ("Your User ID is " + UserID);
player1.FileCreation (UserID);
player1.FileReaderTest (UserID);
break;
}
} //While Q1 != YES || NO
} //Public void Main
public void FileReaderTest (int UserID)
{
File input = new File (String.valueOf (UserID));
player1.Userlogin (input);
try
{
FileReader reader = new FileReader (input);
BufferedReader buf = new BufferedReader (reader);
String line1 = buf.readLine();
String line2 = buf.readLine();
buf.close();
c.println (line1);
c.println (line2);
}
catch (FileNotFoundException e)
{
c.println ("Error File Not Found");
}
catch (Exception e)
{
c.println ("ERROR");
}
}
public void FileCreation (int UserID)
{
try
{
Writer writer = new BufferedWriter (new OutputStreamWriter (new FileOutputStream (String.valueOf (UserID)), "utf-8"));
}
catch (IOException ex)
{
}
}
} // Login class
Как вы можете сравнить String с файлом? –
Я не знаю, что делает этот класс 'hsa.Console'. –
вам нужно сравнить его с именем файла вместо файла – Jobin