Je veux de l'aide moi-même, j'ai fait un fichier qui créerait un fichier utilisateur, car je prévois de faire un jeu. Il a un login qui écrit le nom de connexion, le nom d'affichage et le mot de passe. Il l'écrit dans un fichier nommé après le nom de connexion.Java Comment lire une ligne spécifique
Maintenant, je souhaite faire un script de connexion, en utilisant java. Je veux savoir, spécifiquement, comment lire la ligne et le mot de passe déjà entré. Je l'ai pour que quand il crée le fichier, il enregistre le mot de passe deux fois, une fois comme "playerPass" et une fois comme "currPass" de sorte que, si on prévoyait de changer le mot de passe (que j'utiliserai du login script), alors le currPass serait lu comme le mot de passe correct en utilisant la variable playerPass. Quoi qu'il en soit, je voudrais utiliser BufferedReader et FileReader pour lire la ligne indiquant le mot de passe et le mot de passe actuel afin que quelqu'un puisse se connecter.
Quelqu'un peut-il m'aider beaucoup avec cela? Je suis encore, jusqu'à un certain point, novice.
PS. Je peux modifier le code, j'ai juste besoin d'une petite explication sur comment le coder lol.
Variables:
playerLogName
playerName
playerPass
currPass
noms de fichier:
Login.java
CharacterFileCreator.java
MADE UN AJOUT, a fonctionner la moitié, mais il se verrouille en place (en utilisant le Dr Java) après avoir entrer le mot de passe, peu importe ce que Je fais, incorrect ou correct, et le System.out.println() ne s'exécute jamais, même si le mot de passe est incorrect. Check it:
import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.FileNotFoundException;
class Login {
public static void LogIn(){
boolean loggedIn = false;
loggedIn = true;
System.out.println("You are now logged in!");
}
public static void main(String[] args) {
System.out.println("What is your login name?");
Scanner charLogName = new Scanner(System.in);
String playerLogName = charLogName.nextLine();
boolean charFileFound = false;
BufferedReader characterfile = null;
try {
characterfile = new BufferedReader(new FileReader("./game/characters/" + playerLogName + ".txt"));
charFileFound = true;
}
catch (FileNotFoundException fileex1) {}
if(charFileFound == false){
System.out.println("Login name does not exist!");
}
else
{
System.out.println(playerLogName + ": is your username, what is your password?");
Scanner charPassword = new Scanner(System.in);
String playerPass = charPassword.nextLine();
String line = "";
String token = "";
String token2 = "";
int ReadMode = 0;
try {
line = characterfile.readLine();
} catch (IOException ioexception) {
System.out.println(playerLogName + ": error loading file.");
}
while (line != null) {
line = line.trim();
int spot = line.indexOf("=");
if (spot > -1) {
token = line.substring(0, spot);
token = token.trim();
token2 = line.substring(spot + 1);
token2 = token2.trim();
switch (ReadMode) {
case 1:
if (token.equals("character-password")) {
if (playerPass.equals(token2)) {
LogIn();
} else {
System.out.println("You entered an incorrect password!");
}
break;
}
}
} else {
if(line.equals("[ACCOUNT]")) {
ReadMode = 1;
}
else if(line.equals("[EOF]")) {
try {
characterfile.close();
} catch (IOException ioexception) {
}
}
}
}
}
}
}
EDIT:
FICHIER EXEMPLE:
[ACCOUNT]
character-loginname = SampleFile
character-password = samplepassword
[EOF]
Afficher un exemple de fichier dans votre question. –
* "Désolé les gars, c'est 4:15 ici haha." * Pas une excuse valable. Si vous êtes mis dans une position où vous devez donner des excuses pour une mauvaise question, c'est un bon signe que vous ne devriez pas poser la question, ou vous devriez retarder la question jusqu'à ce que vous soyez apte à le faire. -1 –
Im 17, im encore un gamin, j'ai une excellente "excuse", et cette "excuse" était pour le "brainfart" que j'avais! Wasnt pour rien d'autre, je suis nouveau à cela, et j'ai besoin d'aide, le point de poser des questions, est d'obtenir de l'aide, si vous ne savez pas quelque chose, vous n'avez pas, je cherchais depuis un certain temps, bien, quelques heures, mais je ne vais pas m'asseoir pendant 12 heures regardant sur la façon de réparer quelque chose comme ça. ** Et oui, être debout pendant 34 heures d'affilée est une excuse valable, merci beaucoup. – Daniel