Autore Topic: Non viene creato file di testo dopo aver creato la cartella  (Letto 693 volte)

Offline DamianFox

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows 7
Non viene creato file di testo dopo aver creato la cartella
« il: 15 Gennaio 2014, 22:40:41 CET »
0
Ciao a tutti!
Sto facendo un'applicazione in cui vorrei creare dei file di testo nei quali scrivere vari dati. Ecco il codice:

Codice (Java): [Seleziona]
public void generateTextFile(String fileName){
                try {
                        System.out.println("FILE CREATO!!!!");
                       
                        File root = new File(Environment.getExternalStorageDirectory(), "Experiments");
                        System.out.println(root);
                if (!root.exists()) {
                    root.mkdirs();
                }
                File file = new File(root, fileName);
                FileWriter writer = new FileWriter(file);
                writer.append("Hello!!!!!!!");
                writer.flush();
                writer.close();
                } catch(IOException e) {
                 e.printStackTrace();
            }          
}

Questo codice, però, crea la cartella "Experiments", ma non crea il file di testo.. Dove sbaglio?

Offline vincenzoc

  • Utente junior
  • **
  • Post: 148
  • Respect: +47
    • Google+
    • cerminarav
    • Mostra profilo
    • Mie applicazioni sul Play Store
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Vincenzo Cerminara
  • Sistema operativo:
    Arch Linux
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #1 il: 16 Gennaio 2014, 12:23:57 CET »
0
Dai un'occhiata a questa discussione  ;-)
Ringrazia chi ti aiuta sul forum con l'apposito pulsante :P
Scarica Yazzy

Offline DamianFox

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows 7
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #2 il: 16 Gennaio 2014, 21:14:58 CET »
0
Ho cambiato il codice aggiungendo:

Codice (Java): [Seleziona]
final String PATH = Environment.getExternalStorageDirectory() + "/Experiments/";
File file = new File(PATH + fileName);

Dov'è che sbaglio? Android usa un altro standard per creare i file? Ho visto molte guide in rete, ma nessuna di esse ha risolto il problema...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #3 il: 16 Gennaio 2014, 22:19:30 CET »
+1
Io faccio così in una mia app (faccio copia e incolla dell'essenziale), che è (quasi) indentico al tuo primo codice, per cui viene da pensare ai permessi:

Codice (Java): [Seleziona]
root = Environment.getExternalStorageDirectory();
exportDir = new File(root.getAbsolutePath()+"/nomeapp");
if (!exportDir.exists()) exportDir.mkdir();
...
myFile = new File(exportDir,"myfile.txt");
...
myFile .createNewFile();
...
myFile .close();
« Ultima modifica: 16 Gennaio 2014, 22:21:09 CET da bradipao »
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline DamianFox

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows 7
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #4 il: 16 Gennaio 2014, 22:34:30 CET »
0
Anche in questo caso mi crea la cartella, ma poi non crea il file al suo interno. Inoltre non trova il metodo close().

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #5 il: 16 Gennaio 2014, 23:05:12 CET »
0
Anche in questo caso mi crea la cartella, ma poi non crea il file al suo interno. Inoltre non trova il metodo close().

Ah si, il close() era del FileWriter().

Comunque, ci sono i permessi nel manifest?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline DamianFox

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows 7
Re:Non viene creato file di testo dopo aver creato la cartella
« Risposta #6 il: 16 Gennaio 2014, 23:10:59 CET »
0
Ho capito dov'è il problema. Ho provato a sostituire il nome del file con "myFile.txt" e me lo crea; dovrebbero esserci dei caratteri non validi nel titolo del file. Questi caratteri possono essere "_" e ":" .

Post unito: 16 Gennaio 2014, 23:14:57 CET
Ho tolto ":" ed ora funziona.  :-)
« Ultima modifica: 16 Gennaio 2014, 23:14:57 CET da DamianFox, Reason: Merged DoublePost »