0

flower.jpg という名前のファイルをダウンロードしようとしています

 String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/flower.jpg";

 File f = new File(fileName);
 if(!f.exists())
 {
      f.createNewFile();
 }
 DataOutputStream fos = new DataOutputStream(new FileOutputStream(f));
    fos.write(buffer);
    fos.flush();
    fos.close();

それはかなりうまくいきます。

しかし、まだ存在しない新しいディレクトリ (images) にファイルを置きたいです。そして、私が試してみると

 String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images/flower.jpg";

私は得る:

 11-06 18:19:01.570: W/System.err(17601): java.io.IOException: No such file or directory
 11-06 18:19:01.580: W/System.err(17601):   at java.io.File.createNewFileImpl(Native Method)
 11-06 18:19:01.580: W/System.err(17601):   at java.io.File.createNewFile(File.java:1115)
4

2 に答える 2

1

ディレクトリ「images」が存在するかどうかを確認し、存在しない場合は作成する必要があります。

    if (isMediaMounted()) {

                File cnxDir = new File(
                        Environment.getExternalStorageDirectory()
                                + File.separator + "folderName");
                if (!cnxDir.exists()) {

                    cnxDir.mkdir();

                }}

///

 private boolean isMediaMounted() {
    if (Environment.MEDIA_MOUNTED.equals(Environment
            .getExternalStorageState())) {
        return true;
    } else {
        return false;
    }
}
于 2012-11-06T17:29:42.993 に答える
0

最初にディレクトリを作成する必要があります:

String dirName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images";
File dir = new File(dirName);
if(!d.exists())
{
     d.mkdirs();
}

String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images/flower.jpg";

File f = new File(fileName);
if(!f.exists())
{
     f.createNewFile();
}
于 2012-11-06T17:32:10.250 に答える