Salve, ho trovato un problemino con file.exist.
Se il nome del file non è valorizzato l'operazione restituisce true? Probabilmente fa il check solo sulla cartella, per risolvere ho dovuto testare la dimensione del nomefile prima di verificare se il file esiste.
Ho segnalato la cosa anche sul forum internazionale. https://www.b4x.com/android/forum/threads/file-exists-directory-filename.71457/
La stessa cosa, e qui è più grave la fa con la
file.delete(directory,file), la directory esiste, il file non è valorizzato ed in questo caso cancella la cartella.
a suo tempo ho incontrato anche io dei problemi simili e, visto che non fui in grado di risolverli, realizzai una libreria ad hoc con diversi metodi per la gestione dei file che poi ho integrato nella classe fFILETOOLS presente nella libreria db2000 eXtrafunctions disponibile per B4A, B4J e Java... comunque, visto che poi ogni problema può essere legato al suo contesto e che al momento la libreria sembra funzionare anche con le ultime versioni di Android e i recenti aggiornamenti di Java, se vuoi non resta altro che provare...
Permettetemi il termine: Puttanata pazzesca.
Se voglio vedere se esiste la directory faccio If File.IsDirectory(PthMD,"nomedir/") = False Then
Se voglio cancellare una directory faccio File.Delete(nomedir, nomedir)
Nel forum inglese ho postato un esempio eclatante.
Alla fine per evitare di cancellare la cartella se il nomefile non è passato
devi fare così
If File.Exists(NameDir, FileName) and FileName.lenght > 0 then
File.Delete(NameDir, FileName)
end if
In effetti è piuttosto anomalo, sarebbe meglio avere istruzioni specifiche per le directory.
Comunque, perlomeno Erel ha detto che la directory viene eliminata solo se vuota (non è una gran consolazione, ma meglio di niente )