私は自分自身を助けたいと思っています。私はゲームを作ることを計画しているので、ユーザーファイルを作成するファイルを作っています。ログイン名、表示名、およびパスワードを書き込むログインがあります。それは、ログイン名の後に付けられたファイルにそれを書き出します。Java特定の行を読むには
ここで、javaを使用してログインスクリプトも作成したいと考えています。私は、具体的には、行とすでに入力されたパスワードを読み取る方法を知りたい。
ファイルを作成するときにパスワードを2回、「playerPass」と1回「currPass」で保存するようにしました。パスワードを変更する予定がある場合(ログインから使用します)スクリプト)、currPassは、playerPass変数を使用して正しいパスワードとして読み取られます。とにかく、BufferedReaderとFileReaderを使用して、パスワードと現在のパスワードを示す行を読み取ってログインできるようにしたいと考えています。
誰かがこれで私を大いに助けてくれますか?私はまだ、初心者です。
PS。私はコードを微調整することができます、私はちょっとそれを笑ってコードする方法について少し説明が必要です。
変数:
playerLogName
playerName
playerPass
currPass
ファイル名:関係なく、何の、
Login.java
CharacterFileCreator.java
MADE AN ADDITIONは、それは半分働いてしまったが、私は、パスワードを入力した後、それは(博士のJavaを使用して)ロックアップパスワードが間違っていても、とSystem.out.println()は実行されません。はそれを確認してください:
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:
サンプルファイル:
[ACCOUNT]
character-loginname = SampleFile
character-password = samplepassword
[EOF]
質問のサンプルファイルを表示します。 –
* "申し訳ありませんが、その4:15ここには笑" *有効な言い訳ではありません。あなたが貧しい質問の言い訳をしなければならないという立場に置かれているなら、それはあなたが質問してはならないという良い兆候です、そうするようになるまでそれを求めるのを遅らせるべきです。 -1 –
Im 17、私はまだ子供です、私は優秀な "言い訳"を持っています、そして "言い訳"は私が持っていた "brainfart"でした!何か他のものはありませんでした。私はそれを新しくしました。私は助けが必要です。質問をすることのポイントは、助けを求めることです。あなたが何かを知っていなければ、私はしばらく修正を探していました。しかし、私はそのようなものを修正する方法を見て12時間座るつもりはありません。 **そして、はい、34時間連続していることは正当な言い訳です、ありがとうございます。 – Daniel