CreateNewFile - aprire fallito : ENOENT ( Nessun file o directory )

? user3425269 @ | Original: StackOverFlow
---

Non riesco a capire cosa c'è che non va qui ... Ho provato a scrivere questo più succicinctly, che non ha funzionato . Ho messo in tutte le stringhe in più dopo aver letto altri suggerimenti con questo problema . Non aiuta . Nessun indizio che cosa sta accadendo . Potrebbe essere permessi - correlate ? Per quanto ne so io sto cercando di scrivere nella memoria interna e che non ha bisogno di autorizzazioni speciali ?

public void outputBitmap(){ 
    String path = Environment.DIRECTORY_PICTURES.toString();
    File folder = new File(path + "/Blabla");
    String filename = new SimpleDateFormat("yyMMddHHmmss").format(Calendar.getInstance().getTime()) + ".png";
    try {
        if (!folder.exists()) {
            folder.mkdirs();
            System.out.println("Making dirs");
        }
        File myFile = new File(folder.getAbsolutePath(), filename);
        myFile.createNewFile();

        FileOutputStream out = new FileOutputStream(myFile);
        myBitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
        out.flush();
        out.close();

    } catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

Si va "Fare dirs " ogni volta, la directory non è rimanere fatta, o qualcosa del genere . Quando si arriva al myFile.createNewFile ( ) ; dà il messaggio di errore " aperto non riuscito : ENOENT ( Nessun file o directory ) "

Non so se è legato, ma le informazioni che sto cercando di uscita è da :

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    myBitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.RGB_565);
    Canvas pngCanvas = new Canvas(myBitmap);
    ...[some maths and stuff]
    canvas.drawLine(...);
    pngCanvas.drawLine(...);
}

Ho pensato di essere in grado di utilizzare la stessa tela per il bitmap, ma che ha causato caduto, così sto scrivendo le stesse informazioni di entrambe le tele . Quindi ... non so se questo è legato al problema o un problema di cattiva completamente diverso o cosa .

Conosci cercando tutti i tipi di domande che sembravano simili, ma non riusciva a trovare alcuna soluzione che ha lavorato per me . Ho cercato di risolvere questo per giorni ora . Qualcuno sa che cosa sta andando male ?

Thanks

---

Top 5 Risposta

1Hakan Serce @

Non si utilizza Environment.DIRECTORY_PICTURES correttamente . E non è una cartella di per sé, è necessario utilizzare come parametro per il metodo ( ) getExternalStoragePublicDirectory . Controlla qui : http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)