2016-09-13 14 views
0

私の目標は、外部のSDカード上の特定のディレクトリに存在しないファイルにテキストを書き込むことです。残念ながら私はアンドロイドアプリケーションでこのようなファイルをディレクトリに作成することはできません。
私はいくつかのコード例が他の人のために働いていたが、私のアプリケーションではうまくいきませんでした。したがって、どんな提案も高く評価されています。ありがとうございました!私は私の上でAndroidのバージョン5.1.1を使用しています

1.マニフェスト
外部SDカードの既存ディレクトリにファイルを作成してアンドロイドアプリケーション

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 


2. Javaのクラス

FileOutputStream fos ; 
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { 
    try { 
     File sdCard = Environment.getExternalStorageDirectory(); 
     File file = new File(sdCard.getAbsolutePath() + File.separator + 
          "givenDirectory" + File.separator + "newFile"); 
     fos = new FileOutputStream(file); 
     String data = "some text"; 
     fos.write(data.getBytes()); 
     fos.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

:ここ

は私の関連するコードです携帯電話。 Javaクラスの抽出は、引用符付きのコードのみを含む静的なvoidの一部です。

問題:ファイルが

+0

「私の目標は、外部SDカードに指定されたディレクトリ内の非既存のファイルにテキストを記述することです」 - あなたのコードは[外部ストレージ](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html)と連携するためのものです。これは[リムーバブルストレージ](https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html)(「外部SDカード」の解釈方法)ではありません。それ以外の場合は、例外ハンドラに関連するJavaスタックトレースをLogCatで調べる必要があります。インデックスを作成していないため、ファイルが存在するかどうかを確認するには 'adb shell'を使用する必要があります。 – CommonsWare

答えて

関連する問題