2012-04-12 6 views
1

Erstellen ich bin mit folgendem CodeSeltsame Namen von Dateien in android

    Integer val = myReceipt.receiptId ; 
        String fileName = "image" + "_" + title.getText().toString()+"_" + val.toString(); 
        photo = this.createTemporaryFile(fileName, ".jpg"); 
        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); 
        uriOfPhoto = Uri.fromFile(photo); 
        startActivityForResult(intent, RESULT_CAMERA_SELECT); 
        } 
       } 


      private File createTemporaryFile(String part, String ext) throws Exception 
      { 
       File tempDir = new File (Environment.getExternalStorageDirectory() + "/Catch All Keeper/Receipts"); 
       if(!tempDir.exists()) 
       { 
        tempDir.mkdir(); 
       } 
       tempDir.canWrite(); 
       return File.createTempFile(part, ext, tempDir); 
      } 
     }); 

Nun sollte es Namen image_title_val Datei geben, aber es gibt einen seltsamen Namen wie image_title_(some random numbers).jpg

Kann jemand sagen, was das Problem ist, Hier?

+0

Was ist myReceipt.receiptId? –

Antwort

2

Sie verwenden File.createTempFile, um einen eindeutigen Namen zu erhalten. Diese Funktion weist die angezeigten Zufallszahlen zu. Die im Parameterpart übergebene fileName-Zeichenfolge wird als Präfix zum Generieren des temporären Dateinamens verwendet.

+0

schon erraten, aber können Sie sagen, beheben? –

+0

Es hängt davon ab, was Sie tun möchten. Wenn Sie einen eindeutigen Dateinamen möchten, ist Ihr Code korrekt und es ist keine Korrektur erforderlich. Wenn Sie sicher sind, dass das Format image_title_val eindeutig ist, rufen Sie createTempFile nicht mehr auf. Mit einem gültigen Namen können Sie eine neue Datei wie folgt erstellen: new File (tempDir, part + ext) .createNewFile(); – azertiti

Verwandte Themen