2017-02-15 8 views
0

ファイルを作成して内部ストレージ(SDカードではありません)に読み込みたいのですが、エクスプローラでユーザーがアクセスできるファイルが必要です。内部ストレージ(アプリケーションパッケージに含まれない)にファイルを書き込み、読み取る

どうすればいいですか?

マイコード:

public void WriteFile(View v) { 
     try { 
      FileOutputStream fileout= getActivity().openFileOutput("password.txt", MODE_PRIVATE); 
      OutputStreamWriter outputWriter=new OutputStreamWriter(fileout); 
      outputWriter.write("hello"); 
      outputWriter.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public void ReadFile(View v) { 
     try { 
      FileInputStream fileIn=getActivity().openFileInput("hello.txt"); 
      InputStreamReader InputRead= new InputStreamReader(fileIn); 

      char[] inputBuffer= new char[READ_BLOCK_SIZE]; 
      String s=""; 
      int charRead; 

      while ((charRead=InputRead.read(inputBuffer))>0) { 
       String readstring=String.copyValueOf(inputBuffer,0,charRead); 
       s +=readstring; 
      } 
      InputRead.close(); 

      Toast.makeText(getActivity(), s + " ",Toast.LENGTH_SHORT).show(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
+1

Android SDKが[内部ストレージ](https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html)として参照するものにアクセスできない根っこのデバイスでユーザーは、[外部ストレージ](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html)にアクセスできます。デスクトップのOSには「内部ストレージ」というラベルが付けられています。なぜならGoogleは人々を混乱させてしまうからです。 – CommonsWare

答えて

0

私はMODE_WORLD_READABLE代わりのMODE_PRIVATEを使用して解決策を見つけました。

関連する問題