Сравнение сохраненного текста TXT и EditText - PullRequest
0 голосов
/ 08 октября 2018

Я хочу создать систему, которая сравнивает пароль (4-значное число).

Входной код (у меня уже есть fis)

fis = openFileInput(FILE_NAME);
        InputStreamReader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);
        StringBuilder sb = new StringBuilder();
        String text;

        while((text = br.readLine()) != null)
        {
            sb.append(text).append("\n");
        }

        String finalinput = sb.toString();

        String finalpassinput = password.getText().toString();

        Toast.makeText(this, "finalinput:"+finalinput+"finalpassinput:"+finalpassinput,Toast.LENGTH_LONG).show();

        if(finalinput.equals(finalpassinput))
        {
            Toast.makeText(this,"Login!", Toast.LENGTH_SHORT).show();
            startActivity(new Intent(MainActivity.this, HomeActivity.class));
        }
        else
        {
            Toast.makeText(this,"Incorrect Password",Toast.LENGTH_SHORT).show();
        }

И в этом исходном коде будет указано, чтодва пароля разные.
Как я написал мой файл:

fos = openFileOutput(FILE_NAME_PW, MODE_PRIVATE);
        fos.write(encodedpw.getBytes());
        Toast.makeText(this, "Saved to " + getFilesDir() + "/" + FILE_NAME_PW, Toast.LENGTH_LONG).show();

Мне любопытно, если encodepw.getBytes () изменит что-либо на строку (включая нулевые символы и т. д.) и если победит Javaне думаю, что они одинаковы.Спасибо.

1 Ответ

0 голосов
/ 11 октября 2018

Я нашел себе ответ на это.Переменная finalinput имела нулевой символ перед ней, поэтому вы можете получить чистую строку, используя эту функцию.

public static String FileStringParse(String FileString)
{
    FileString = FileString.replaceAll("\\D+","");
    return FileString;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...