2020-12-16
FileNotFoundException(No such file or directory)例外でファイル又はディレクトリが見つからなかったので外部フォルダに真新しいフォルダを作る方法で回避しました。exeternal-pathを使う場合はそのままコピペでも使えますので試してみてください。
</pre> <pre>//Cameraディレクトリ生成 File imageStorageDir = new File( Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DCIM),"Camera"); if(imageStorageDir.mkdirs()){ imageStorageDir.mkdirs(); }else{ System.out.println("既にディレクトリを生成しています。"); }</pre> <pre>
mkdirs()は、ディレクトリ(フォルダとフォルダを繋ぐ道のりのようなもの)を生成します。
Environment.getExternalStoragePublicDirectory()だけだとファイルを作っただけで、双方フォルダのつながりはこの段階ではまだできていません。エミュレータでこれを書き忘れるとNo such file or directoryで血管が切れるので忘れずに記述しましょう。
ちなみにNo such file or directoryエラーは、androidAPI23以前だとpermission deniedという名前で出てきます。大半はファイルが保存されなかったまたは書き込みの失敗で出てくるので覚えておくと役に立つかもしれません。