2017-05-20 2 views
0

Ist es möglich, eine Datei aus dem internen Speicher in einer Dienstprogrammklasse zu lesen, die nichts erweitert? Ich habe den Code unten, um eine Datei zu lesen, aber ich kann die openFileInput Methode nicht verwenden, weil sie nicht existiert. Gibt es etwas, das ich importieren muss, um diese Dateien zu lesen?Öffnen einer Datei aus dem internen Speicher von Android Studio aus einer Klasse, die AppCompatActivity nicht erweitert

private String readFromFile(String fileName) { 
    FileInputStream fis = null; 
    try { 
     fis = openFileInput("Links"); // this doesn't compile in a utility class 
     InputStreamReader isr = new InputStreamReader(fis); 
     BufferedReader bufferedReader = new BufferedReader(isr); 
     StringBuilder sb = new StringBuilder(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      sb.append(line); 
     } 
     return String.valueOf(sb); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 
+1

'openFileInput' ist ein Verfahren der' Context' verwenden, so dass Sie einer von denen, an die 'readFromFile' Methode übergeben konnte. – nasch

+0

@nash ja, dass besser, sollten Sie als Antwort hinzufügen. –

Antwort

0

können Sie java.io.FileInputStream

private String readFromFile(String fileName) { 
    InputStream in = null; 
    try { 
     in = new FileInputStream(fileName); 
     InputStreamReader isr = new InputStreamReader(in); 
     BufferedReader bufferedReader = new BufferedReader(isr); 
     StringBuilder sb = new StringBuilder(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      sb.append(line); 
     } 
     return String.valueOf(sb); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 
Verwandte Themen