у меня есть активити с паролем, если я впервые захожу в приложение и ввожу пароль, то создается файл, а как проверить существует ли он, что бы не писать его заного, если существует то проверять содержимое файла с тем что в форме пароля введено
вот код
public class MainActivity extends Activity {
// init variables
EditText pass;
Button login;
String password;
final String LOG_TAG = "myLogs";
private String mFileName = "myfile";
//init onCreate method that provide our logic when activity start open
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pass = (EditText) findViewById(R.id.pass);
login = (Button) findViewById(R.id.button);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
password = pass.getText().toString().trim();
if (TextUtils.isEmpty(password)) {
pass.setError("password mustnot be empty");
pass.focusSearch(View.FOCUS_DOWN);
} else if (password.length() >= 6 && password.length() <= 24) {
Toast.makeText(getApplicationContext(), "validation sucess", Toast.LENGTH_LONG).show();
writeToFile(v);
Intent intent = new Intent(MainActivity.this, new_activity.class);
startActivity(intent);
} else {
pass.setError("password length must be match:5=<password>=10");
pass.focusSearch(View.FOCUS_DOWN);
}
}
});
}
public void readFile(View v) {
Log.d(LOG_TAG, "readFile");
FileInputStream stream = null;
StringBuilder sb = new StringBuilder();
String line;
try {
stream = openFileInput(mFileName);
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
stream.close();
}
Log.d(LOG_TAG, "Data from file: " + sb.toString());
Toast.makeText(getApplicationContext(), "file Created", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Log.d(LOG_TAG, "Файла нет или произошла ошибка при чтении");
}
}
public void writeToFile(View v) {
Log.d(LOG_TAG, "writeToFile");
String string = password;
try {
FileOutputStream outputStream = openFileOutput(mFileName, MODE_PRIVATE);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
Log.d(LOG_TAG, "Произошла ошибка при записи");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
типо надо сделать так
if (filename.exist()){
readFromFile()
}else{error}
но не понимаю куда это нужно сделать