0

これは、ファイル オブジェクトを作成するための私のコードです。ファイルが存在すると確信しています。ただし、ファイルlength()は 0 をexists()返し、false も返します。

File uploadFile = new File(Environment.getExternalStorageDirectory() + "/DCIM/DSC00050.jpg");
int totalSize = (int) uploadFile.length(); // Get size of file, bytes
4

2 に答える 2

0

false を返す場合exists()は、ファイルが存在しないかアクセスできないことを意味します。SD カードがマウントされていることと、アプリに十分な権限があることを確認してくださいREAD_EXTERNAL_STORAGE。その場合は例外が発生するはずなので、これが問題だと思います。

もう 1 つは、絶対ファイル パスをログに記録しuploadFile.getAbsolutePath()、それが正しいことを確認することです。

編集:

DCIM画像がフォルダーの直下にないことを確認していますDCIM/Cameraか? Android の任意のファイル ブラウザを使用して、ファイルの完全なパスを確認します。コードに他の問題は見られません。

于 2013-02-08T06:33:51.590 に答える
0

書き込み後File uploadFile = new File(...);、ファイル自体は作成されません。

私の知る限りIf File.exists() is returning false, then file just doesn't exist yet.

はい、呼び出してファイルを作成できますfile.createNewFile()

于 2013-02-08T06:34:57.420 に答える