0

次のコードを使用して、.txt ファイルを作成して共有できます。

File path = new File(Environment.getExternalStorageDirectory(), "Folder");
if (!path.exists()) {
    path.mkdirs();
}

File exportFile = new File(path, fileName);
FileWriter writer = new FileWriter(exportFile);
writer.append(body);
writer.flush();
writer.close();

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(exportFile));
startActivity(intent); 

ただし、このファイルをSDカードに直接保存するのではなく、アプリのフォルダーに保存したいので、以下のコードに変更しました。ファイルが作成されず、エクスポートしようとしているアプリがファイルを表示できないため、機能していないようです。

File path = new File(this.getFilesDir(), "exports");
if(!path.exists()){
    path.mkdir();
}

何か案は?私が試したことはすべてうまくいきません。ファイルは Android/data/[パッケージ名] フォルダーに保存されるはずです はい?

編集:わかりました、これを機能させることができませんでしたが、実際にはこれが私が使用したい方法ではないことがわかりました.Android/dataフォルダーにファイルを保存したかったので、使用する必要がありました:

getExternalFilesDir(null)
4

2 に答える 2

0
  1. AndroidManifest.xml で権限を確認してください
  2. ディレクトリの可用性を確認する
  3. 外部ストレージの可用性を確認する
  4. ファイル名を確認します。スペースを含めることはできません
  5. そのフォルダに書き込むことができる権限を確認してください
于 2014-07-22T17:43:12.353 に答える
0

小切手

ContextWrapper contextWrapper = new ContextWrapper(context);
File file = contextWrapper.getDir("media", Context.MODE_PRIVATE);

また、manifestファイルに必要な権限があるかどうかも確認してください

于 2014-07-22T17:37:04.790 に答える