0

私のアプリは、SDカードからいくつかの画像を作成して使用します。これらの画像はデバイスのギャラリーに表示されますが、私はそれを望んでいません。だから私はこのディレクトリに .nonmedia ファイルを作成しようとしましたが、私の問題はこのファイルが作成されないことです。

コードは次のとおりです。

public void createNonmediaFile(){
    String text = "NONEMEDIA";
    String path = Environment.getExternalStorageDirectory().getPath() + "/" +  AVATARS + "/.nonmedia";
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(path);
        fos.write(text.getBytes());
        fos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

例外はありません。

「。」と関係があると思います。名前に。それなしで同じことを試みると、ファイルが作成されます。

ご協力いただきありがとうございます。

4

2 に答える 2

1

次の例を使用してみてください

    File file = new File(directoryPath, ".nomedia");
    if (!file.exists()) {
        try {
            file.createNewFile();
        }
        catch(IOException e) {

        }
    }
于 2012-07-19T18:58:21.130 に答える
0

Android-manifest ファイルに以下の権限を追加します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

そして、以下のコードは問題なく動作するはずです:

private static final String AVATARS = "avatars";
public void createNonmediaFile(){
    String text = "NONEMEDIA";
    String path = Environment.getExternalStorageDirectory().getPath() + "/" +  AVATARS + "/.nonmedia";
    String f = Environment.getExternalStorageDirectory().getPath() + "/" +  AVATARS ;
    FileOutputStream fos;
    try {
        File folder = new File(f);
        boolean success=false;
        if (!folder.exists()) {
            success = folder.mkdir();
        }
        if (true==success) {
            File yourFile = new File(path);
            if(!yourFile.exists()) {
                yourFile.createNewFile();
            } 
        } else {
        // Do something else on failure 
        }
        fos = new FileOutputStream(path);
        fos.write(text.getBytes());
        fos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
于 2012-07-19T19:08:09.257 に答える