[解決済み] SDカードに自動的にディレクトリを作成する方法
2022-04-13 04:12:57
質問
ファイルを次の場所に保存しようとしています。
FileOutputStream fos = new FileOutputStream("/sdcard/Wallpaper/"+fileName);
という例外が発生します。
java.io.FileNotFoundException
しかし、パスを
"/sdcard/"
は動作します。
今、私はこの方法で自動的にディレクトリを作成することができないことを仮定しています。
を作成する方法を教えてください。
directory and sub-directory
を使用していますか?
解決方法は?
を作成した場合 ファイル オブジェクトを呼び出すと、トップレベルのディレクトリをラップしている mkdirs() メソッドを使って、必要なディレクトリをすべて構築します。のようなものです。
// create a File object for the parent directory
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
File outputFile = new File(wallpaperDirectory, filename);
// now attach the OutputStream to the file object, instead of a String representation
FileOutputStream fos = new FileOutputStream(outputFile);
注 を使用するのが賢明かもしれません。 環境.getExternalStorageDirectory() は、SD カード以外のものを搭載した携帯電話 (iPhone のような内蔵フラッシュなど) が登場した場合に、SD カードディレクトリが変更される可能性があるためです。いずれにせよ、SDカードが取り外されている可能性があるため、実際にそこにあることを確認する必要があることを覚えておく必要があります。
UPDATE API Level 4 (1.6)からは、パーミッションも要求する必要があります。このようなもの(マニフェスト内)が機能するはずです。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
Androidで、onTouchEventでダブルクリックを実装し、ダブルクリックイベントとして判定する方法
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
超シンプルなアンドロイドのタイムディレイ機能
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み】Androidで透明なActivityを作成する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
Android Studio を 3.6.3 にアップデートした後、構成 :classpath のアーティファクトをすべて解決できない。
-
ジャークとして。起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりません アクティビティ起動中のエラー
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
Android Nで報告されたエラーを解決する: android.os.FileUriExposedException: file:///storage/emulated/0/
-
Android ProgressBarの色を変更する
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
Android Studioのgitの使用とgitの設定パス