2014-06-18 8 views
18

Ich habe ein Problem mit "try-with-resources werden auf dieser Sprache nicht unterstützt" in Android im folgenden veröffentlichten Code, ich habe versucht, Sprache zu setzen 7, aber es stillt hält mich das gleiche Beispiel zu geben und es hält mich die Möglichkeit gibt, auf die Sprache 7.try-with-resources werden auf dieser Sprachebene nicht unterstützt - Android

public String ReadFile(String fileName) { 

    try (BufferedReader br = new BufferedReader(new FileReader(fileName+".txt"))) { 
     StringBuilder sb = new StringBuilder(); 
     String line = br.readLine(); 

     while (line != null) { 
      sb.append(line); 
      sb.append(System.lineSeparator()); 
      line = br.readLine(); 
     } 

     String everything = sb.toString(); 
     return everything; 
    } catch (FileNotFoundException ex) { 
     Logger.getLogger(SaveNLoadRank.class.getName()).log(Level.SEVERE, null, ex); 
    } catch (IOException ex) { 
     Logger.getLogger(SaveNLoadRank.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    return "1"; 
} 
+5

diesen Beitrag lesen: http://stackoverflow.com/a/22303654/ 2649012, wo erklärt wird, dass 'Try-with-resources 'minSdkVersion 19' erfordert –

+0

Mögliches Duplikat von [Java 7 Sprachfunktionen mit Android] (http://stackoverflow.com/questions/7153989/java-7-language-features-with -android) – rds

Antwort

31

try-with-Ressourcen zu ändern nur unterstützt, wenn Ihr minSdkVersion-19 oder höher eingestellt ist.

Da ich bezweifle, dass Ihre Anwendung eine Mindest-API-Version von 19 oder höher unterstützt (im Juni 2014), ist das wahrscheinlich Ihr Problem.

Unterstützung für Java 7-Sprachenfeatures wurde in SDK Tools Revision 22.6 im März 2014 (see here) hinzugefügt. try-with-resources ist jedoch keine Funktion, die für frühere Versionen von Android eingeführt werden kann, daher müssen Anwendungen, die dieses Feature verwenden, auf 19+ ausgeführt werden, also die minSdkVersion-Anforderung.

UPDATE Sie können nun try-with-resources mit einer beliebigen API verwenden.

Neben die Java 8 Sprachfunktionen und APIs oben, Android Studio 3.0 und erstreckt sich später Unterstützung für Try-with-Ressourcen für alle Android API-Ebene.

https://developer.android.com/studio/write/java8-support.html

+0

@ user3272243- Leider müssen Sie eine min von 10 haben. Andernfalls wäre Ihre Anwendung auf Geräten, die nicht unterstützen rt versuchen-mit-Ressourcen. –

+0

Ich war in der Lage, es zu beheben kleinere Teile von Versuchen zu fangen, aber danke für die Hilfe :) –

+0

"das ist wahrscheinlich Ihr Problem" ist falsche Aussage. –

Verwandte Themen