Autore Topic: Problema creazione file  (Letto 253 volte)

Offline IOeTU

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3 Neo
  • Sistema operativo:
    Windows 10
Problema creazione file
« il: 13 Settembre 2016, 13:17:22 CEST »
0
Salve a tutti,
sto lavorando ad un'app che, tra le altre cose, deve scrivere un file quando viene premuto un pulsante.
La mia prima esigenza è scegliere il nome del file, visto che l'utente ne potrà creare infiniti.
Mi servirebbe un pezzo di codice che faccia quanto segue:
Crea un file chiamato "File000.txt";
Controlla se "File000.txt" è un file già esistente. In questo caso il file sarà chiamato "File001.txt"

In C++ (Arduino) quello che cerco è scritto così:
Codice: [Seleziona]
  char filename[] = "LOG_00.txt"; //Creazione file e scelta nome file
  for (uint8_t i = 0; i < 100; i++) {
    filename[4] = i / 10 + '0';
    filename[5] = i % 10 + '0';
    if (!SD.exists(filename)) {  //Il file viene creato sulla SD card
      logfile = SD.open(filename, FILE_WRITE);
      break;
    }
  }

Grazie mille in anticipo

Post unito: 13 Settembre 2016, 21:08:28 CEST
AGGIORNAMENTO:
ho riportato il codice in Java e questo è il risultato:
Codice (Java): [Seleziona]
[...]
public void onClick(View v) {
                char[] filename = {'N','o','t','e','_','0','0','0','.','t','x','t'};
                for (int counter = 0; counter <1000; counter++){
                    filename[5] = (char) (counter / 100 + '0');
                    filename[6] = (char) (counter / 10 + '0');
                    filename[7] = (char) (counter % 10 + '0');
                    String filenamestring = new String(filename);
                    File nota = new File("/data/com.fourlab.note/files",filenamestring);
                    if(!nota.exists()){
                        try {
                            if(nota.createNewFile());
                            PrintWriter PW = new PrintWriter(nota);
                            PW.println("nuovo file");
                            PW.close();

                        } catch (IOException e) {
                            e.printStackTrace();
                            String exc = new String();
                            exc = "Eccezione nell'applicazione\n";
                            String error = exc+e;
                            Toast.makeText(getApplicationContext(), error, Toast.LENGTH_SHORT).show();
                        }
                    }

                }

            }
[...]

Ora al tentativo di scrittura il codice genera le seguenti eccezioni:
-no such file or directory
-file system in sola lettura
« Ultima modifica: 13 Settembre 2016, 21:08:28 CEST da IOeTU, Reason: Merged DoublePost »