2017-01-09 12 views
0

Androidのアクティビティを作成して、デバイスのリムーバブルSDカードにテストファイルを書き込もうとしています。私はそれが書かれたことを確認できる必要があります。私は携帯電話の内部ストレージ(外付けストレージと呼ばれますが、そうではありません)に書き込むことができましたが、リムーバブルSDカードは書き込めませんでした。私は正しい道を得る必要があると思う。Android - ファイルをリムーバブルSDに保存して読み込み

私はこのコードの取り外し可能なSDカードの存在を確認することができましたが、ファイルの書き込みにそれを翻訳することができていない。ここで

String secStore = System.getenv("SECONDARY_STORAGE"); 
    File path = new File(secStore); 
    StatFs stat = new StatFs(path.getPath()); 

は、テストファイルを記述するための私のコードです私が言ったようにbt:それはデバイスの内部ストレージに書き込みます:

File dir = new File(android.os.Environment.getExternalStorageDirectory(), "TestFolder"); 
     if (!dir.exists()) { 
      dir.mkdirs(); 
     } 
     String filename = "SD_Test.txt"; 
      try { 
       File f = new File(dir + File.separator + filename); 
       FileOutputStream fOut = new FileOutputStream(f); 
       OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
       myOutWriter.append("Testing SD Card"); 
       myOutWriter.flush(); 
       myOutWriter.close(); 
       fOut.close(); 
       if(f.exists()){ 
        Toast.makeText(getBaseContext(), 
          "File Created", 
          Toast.LENGTH_SHORT).show(); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

    } 

私は数日間この作業に取り組んできました!ここで

答えて

1

私が言った、それはのようなデバイスの内部ストレージへの書き込みを行うBTテストファイルを記述するための私のコードです:

それは、Android SDKがexternal storageと呼んでいるものに書き込みます。私はこのコード

で取り外し可能なSDカードの存在を確認することができました

は、それが何らかの意味を持っているため、おろか存在すること、環境変数のための要件ではありません。

しかし、あなたは、Android 4.4以降にremovable storage上で任意のファイルシステムの場所へのアクセスを持っていないファイル

を書くことにそれを翻訳することができていません。 getExternalFilesDirs(),getExternalCacheDirs()、またはgetExternalMediaDirs()を使用します。これらのメソッドが2つ以上のエントリを返す場合、2番目以降のものは、読み書きできるリムーバブルストレージ上の場所です。

関連する問題