2016-05-25 21 views
0

Ich versuche, in eine Datei zu schreiben, die zur Laufzeit im Projektverzeichnis gespeichert ist. Aber ich bekomme unten Fehler:So schreiben Sie in eine Datei, die im Projektverzeichnis gespeichert ist

Ich gebe ich einen falschen Dateipfad oder kann ich die Dateien zur Laufzeit nicht bearbeiten? Bitte vorschlagen. Unten ist mein Code:

private void saveInMultidexKeepFile(List externalDexClasses) { 
     if (externalDexClasses != null && externalDexClasses.size() > 0) { 
      File file = new File("multidex.keep"); 
      FileOutputStream fOut = null; 
      try { 
       fOut = new FileOutputStream(file); 
       OutputStreamWriter outWriter = new OutputStreamWriter(fOut); 
       for (int i = 0; i < externalDexClasses.size(); i++) { 
        outWriter.append(externalDexClasses.get(i).toString()); 
        outWriter.append("\n"); 
        LOGD("Multidex:", outWriter.toString()); 
       } 
       outWriter.close(); 
       fOut.close(); 


      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
       LOGD("Multidex:", e.getMessage()); 
      } catch (IOException e) { 
       e.printStackTrace(); 
       LOGD("Multidex:", e.getMessage()); 
      } 

     } 

    } 
+0

'im Projektverzeichnis' Was halten Sie für das Projektverzeichnis? Bitte geben Sie den vollständigen Pfad an. – greenapps

+0

Versuchen Sie 'fOut = openFileOutput (Dateiname);' Oder verwenden Sie den vollständigen Pfad: 'Datei file = new File (getFilesDir()," multiidex.keep ");'. – greenapps

+0

@greenapps, das Projektverzeichnis ist das Verzeichnis, unter dem Build-, src-, libs- und Build.gradle-Dateien vorhanden sind. Ich habe eine Datei in diesem Ordner erstellt und möchte sie zur Laufzeit bearbeiten –

Antwort

0

Ich denke, Sie können einfach nicht, warum Sie diese Datei ändern möchten?

+0

Unser App-Start ist nach der Verwendung von Multidex verzögert. In diesem Artikel "https://medium.com/groupon-eng/android-s-multidex-slows-down-app-startup-d9f10b46770f#.j01kgi48u "- es wurde vorgeschlagen, alle geladenen externen Klassen in multidex.keep hinzuzufügen. Das Hinzufügen verbessert die Performance. Also, ich habe diese Lösung versucht, aber bekomme diesen Fehler. Es gibt keine Möglichkeit, diese Datei zu bearbeiten? –