0

私のアプリでは、設定ページから1つのパスワードを設定してファイルに書き込む必要があります。その後、ホームページに入るときに、ファイルがnullの場合はそのファイルを読み取る必要があり、設定ページに入る必要があります。

使用されるコードは....です。

   try {
              System.out.println("Enter try block!!!");
                FileInputStream fis = openFileInput(FILENAME1);
                InputStreamReader in = new InputStreamReader(fis);
                BufferedReader br = new BufferedReader(in);
                data = br.readLine();
                System.out.println("data from settings file"+data);
                System.out.println("-------1Data Read From File is:1" + data);
               if(data.equals(null))
                {
                    Toast.makeText(getApplicationContext(), "You have to set a password", Toast.LENGTH_SHORT).show();
                    Intent in1 = new Intent();
                    in1.setClass(getApplicationContext(), SetteingsPage.class);
                    startActivity(in1);
                }
            } catch (Exception e) { 

            }

パスワードがすでに設定されている場合、コードは正しく機能しています。ただし、パスワードがnullの場合、設定クラスには入りません。

4

3 に答える 3

0

FileNotFoundExceptionファイルを読み込もうとしたときにファイルが存在しない場合は、が表示されると確信しています。

このコードを試して、ファイルが存在するかどうかを確認してください。

File file = getContext().getFileStreamPath(FILENAME1);

if(file.exists()) { ... }

于 2013-01-10T09:06:36.420 に答える
0

if-conditionを次のように変更してみてください。

if(data == null || data.equals("") || data.equals("null"))

また、ファイルが利用できない場合はopenFileInput()FileNotFoundException

次のようなcatch句を追加する必要があります。

catch (FileNotFoundException e) { 

  Toast.makeText(getApplicationContext(), "You have to set a password", Toast.LENGTH_SHORT).show();
  Intent in1 = new Intent();
  in1.setClass(getApplicationContext(), SetteingsPage.class);
  startActivity(in1);
}
于 2013-01-10T09:01:36.380 に答える
0

ここに2つのオプションがあります。openFileInputまず、ファイルが存在しない場合、例外がスローされるため、通過できません。次に、nullではない空の行が表示される場合があります。次のようなことを試してみてください。

if(data==null || data.equals("")) ...
于 2013-01-10T09:04:30.027 に答える