Autore Topic: Creare un file solo se non esiste già  (Letto 539 volte)

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Creare un file solo se non esiste già
« il: 30 Gennaio 2014, 12:22:50 CET »
0
Quando creo un file nella mia app in una determinata cartella del telefono vorrei evitare di sovrascrivere un file esistente con lo stesso
nome. Vorrei inoltre che l'utente capisse se il nome che ha scelto non è disponibile. Come posso fare? Questo è il codice:

Codice: [Seleziona]
//Crea un file .gpx relativo al percorso disegnato e lo mette nella cartella download.
    private void exportTrack() {

        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle("Inserisci il nome del file");
        final EditText input = new EditText(this);
        alert.setView(input);
        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                String fileName = input.getText().toString();
                createXmlFile(fileName);
            }
        });

        alert.setNegativeButton("Annulla", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                dialog.cancel();
            }
        });
        alert.show();
    }

Codice: [Seleziona]
private void createXmlFile(String fileName) {
     ......
     File dir = Environment.getExternalStorageDirectory();
            File file = new File(dir.getPath().concat("/download/").concat(fileName).concat(".GPX"));

            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(file);

            transformer.transform(source, result);

            MediaScannerConnection.scanFile(this, new String[]{file.getPath()}, null, null);
}

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Creare un file solo se non esiste già
« Risposta #1 il: 30 Gennaio 2014, 12:27:45 CET »
+1
file.exists()....
File | Android Developers()

Le API aiutano sempre
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Creare un file solo se non esiste già
« Risposta #2 il: 30 Gennaio 2014, 13:43:58 CET »
0
Molto semplice, grazie  ;-)